Seite 1 von 1

[3.3] Sound wird nicht abgespielt

Verfasst: 23.06.2010 14:02
von mbuettner
Hallo,

ich habe folgendes Problem: Ich habe ein Programm, das eigentlich bei Tastendruck einen Sound abspielen soll. Laut Taskmanager läuft das Programm auch, allerdings wird der Sound nicht abgespielt. Woran liegt das?

Code: Alles auswählen

If InitKeyboard() = 0
  MessageRequester("Fehler","Konnte keine Tastatur finden",0)
  End
EndIf
If InitSound() = 0
  MessageRequester("Fehler","Konnte DirectSound nicht laden",0)
  End
EndIf

Repeat
  ExamineKeyboard()
  If KeyboardPushed(#PB_Key_All)
    If LoadSound(0, "sound.wav")
      SoundVolume(0,100)
      PlaySound(0,0)
    Else
      MessageRequester("Fehler","Konnte Sound nicht laden",0)
    EndIf
  EndIf
Until KeyboardPushed(#PB_Key_LeftAlt) And KeyboardPushed(#PB_Key_Escape)
MfG
Markus

E:\ Sehe gerade, dass ich im falschen Forum bin. Bitte verschieben.


topic moved
Grafik & Sound-Erstellung -> Grafik und Sound-Programmierung
-- Andesdaf

Re: [3.3] Sound wird nicht abgespielt

Verfasst: 23.06.2010 14:22
von bobobo
am sound vermutlich oder am Ort des Sounds ..

allgemein soltlest du den sound nur einmal anfangs laden

in der schleife reicht dann ein playsound

etwas so ..

Code: Alles auswählen

InitSprite()
If InitKeyboard() = 0 
  MessageRequester("Fehler","Konnte keine Tastatur finden",0)
  End
EndIf
If InitSound() = 0
  MessageRequester("Fehler","Konnte DirectSound nicht laden",0)
  End
EndIf
If LoadSound(0, "d:\sound.wav")=0
  MessageRequester("Fehler","Konnte Sound nicht laden",0)
EndIf

OpenWindow(0,0,0,500,500,"main",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
OpenWindowedScreen(WindowID(0),0,0,500,500,1,0,0)
Repeat
  ExamineKeyboard()
  If KeyboardPushed(#PB_Key_All)
    If IsSound(0)    
      SoundVolume(0,100)
      PlaySound(0,0)
    EndIf
  EndIf
Until KeyboardPushed(#PB_Key_LeftAlt) And KeyboardPushed(#PB_Key_Escape)

Re: [3.3] Sound wird nicht abgespielt

Verfasst: 23.06.2010 14:57
von mbuettner
Jetzt kommt:
Sound filename not found !

Code: Alles auswählen

If InitKeyboard() = 0
  MessageRequester("Fehler","Konnte keine Tastatur finden",0)
  End
EndIf
If InitSound() = 0
  MessageRequester("Fehler","Konnte DirectSound nicht laden",0)
  End
EndIf

buffer.s = Space(1000)
GetCurrentDirectory_(1000,@buffer)
LoadSound(0, buffer + "click.wav")
Repeat
  ExamineKeyboard()
  If KeyboardPushed(#PB_Key_All)
    SoundVolume(0,100)
    PlaySound(0,0)
  EndIf
Until KeyboardPushed(#PB_Key_LeftAlt) And KeyboardPushed(#PB_Key_Escape)

Re: [3.3] Sound wird nicht abgespielt

Verfasst: 23.06.2010 15:30
von bobobo
dann gib mal den vollständigen Pfad des Sounds mit an

(in der PB-Ide kannst Du das Ziel des temporären Executables auf
das Quellverzeichnis einstellen (Einstellungen-Compiler-Standards)
oder für den aktuellen Source in den Compiler-Optionen, Reiter 'Kompilieren/Starten'
Häkchen vor 'Temporäres Execut...')

ansonsten wird das temporäre Executable im Temp-Ordner abgespeichert.
Und dort findet getcurrentdirectory den sound ja wohl nicht.

Re: [3.3] Sound wird nicht abgespielt

Verfasst: 23.06.2010 15:33
von STARGÅTE
soweit ich mich erinnern kann, hat PlaySound() unter 3.30 nicht immer funktioniert.
Zumindest hatte ich damals immer PlayMovie genommen ohne Darstellung.

Re: [3.3] Sound wird nicht abgespielt

Verfasst: 23.06.2010 15:35
von bobobo
au kack .. 3.3 hatte ich glatt übersehen .. tips und tricks bezüglich der ide dann mal sofort vergessen
oder entsprechend anpassen (so möglich)

Re: [3.3] Sound wird nicht abgespielt

Verfasst: 23.06.2010 15:46
von bobobo
so 3.3

Code: Alles auswählen

InitSprite()
If InitKeyboard() = 0 
  MessageRequester("Fehler","Konnte keine Tastatur finden",0)
  End
EndIf
If InitSound() = 0
  MessageRequester("Fehler","Konnte DirectSound nicht laden",0)
  End
EndIf
buffer.s = Space(1000)
GetCurrentDirectory_(1000,@buffer)
Debug buffer ;nur mal zum gucken wo das programm ist
If LoadSound(0, buffer + "\click.wav") =0  ; backslash nicht vergessen !!
  MessageRequester("Fehler","Konnte Sound in "+buffer+" nicht laden",0)
  End
EndIf

OpenWindow(0,0,0,500,500,#PB_Window_SystemMenu,"main")
OpenWindowedScreen(WindowID(0),0,0,500,500,1,0,0)
Repeat
  ExamineKeyboard()
  If KeyboardPushed(#PB_Key_All)
    ;If IsSound(0)    
      SoundVolume(0,100)
      PlaySound(0,0)
    ;EndIf
  EndIf
Until KeyboardPushed(#PB_Key_Escape)
was bin ich froh dass ich mit dem ollen 3.3 nichts mehr drehen muss

Re: [3.3] Sound wird nicht abgespielt

Verfasst: 23.06.2010 17:37
von mbuettner
@STARGATE:
Dann kann ich aber mit dem Beispiel nichts mehr in einen anderen Programm eingeben, und der Sinn und Zweck dieses Programms ist es ja, dass man da noch was eingeben kann.