[3.3] Sound wird nicht abgespielt

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
mbuettner
Beiträge: 88
Registriert: 14.05.2010 15:53
Computerausstattung: 3 GB RAM, Windows 7 32-Bit Home Premium
Wohnort: daheim
Kontaktdaten:

[3.3] Sound wird nicht abgespielt

Beitrag 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
Bild
Bild
Die täglich beförderte Datenmenge des Internets beträgt 415 Petabyte oder 445.602.856.960 Megabyte!
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Re: [3.3] Sound wird nicht abgespielt

Beitrag 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)
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
mbuettner
Beiträge: 88
Registriert: 14.05.2010 15:53
Computerausstattung: 3 GB RAM, Windows 7 32-Bit Home Premium
Wohnort: daheim
Kontaktdaten:

Re: [3.3] Sound wird nicht abgespielt

Beitrag 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)
Bild
Bild
Die täglich beförderte Datenmenge des Internets beträgt 415 Petabyte oder 445.602.856.960 Megabyte!
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Re: [3.3] Sound wird nicht abgespielt

Beitrag 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.
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: [3.3] Sound wird nicht abgespielt

Beitrag 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.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Re: [3.3] Sound wird nicht abgespielt

Beitrag 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)
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Re: [3.3] Sound wird nicht abgespielt

Beitrag 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
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
mbuettner
Beiträge: 88
Registriert: 14.05.2010 15:53
Computerausstattung: 3 GB RAM, Windows 7 32-Bit Home Premium
Wohnort: daheim
Kontaktdaten:

Re: [3.3] Sound wird nicht abgespielt

Beitrag 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.
Bild
Bild
Die täglich beförderte Datenmenge des Internets beträgt 415 Petabyte oder 445.602.856.960 Megabyte!
Antworten