Problem mit "CatchSound".
Problem mit "CatchSound".
Bin noch ein relativer Anfänger in Sachen PureBasic. Ich hoffe jemand kann mir bei folgendem Problem helfen:
Ich möchte eine *.wav in mein Programm einfügen.
Habe mit folgendem Code die Datei auch schon eingefügt:
DataSection
Ref:
IncludeBinary "ref440.wav"
EndDataSection
Wenn ich die Datei dann jedoch mit "CatchSound(1, ?Ref)" laden möchte,
um sie dann mit PlaySound(1) abzuspielen, meldet sich CatchSound immer mit Result <> 0 bzw. der Debugger zeigt folgende Meldung an: "#Sound object not initialized". Woran könnte dies liegen?
Ich möchte eine *.wav in mein Programm einfügen.
Habe mit folgendem Code die Datei auch schon eingefügt:
DataSection
Ref:
IncludeBinary "ref440.wav"
EndDataSection
Wenn ich die Datei dann jedoch mit "CatchSound(1, ?Ref)" laden möchte,
um sie dann mit PlaySound(1) abzuspielen, meldet sich CatchSound immer mit Result <> 0 bzw. der Debugger zeigt folgende Meldung an: "#Sound object not initialized". Woran könnte dies liegen?
-
bizzl
- Beiträge: 82
- Registriert: 08.09.2005 18:07
- Computerausstattung: AMD Athlon II X4 635
Windows 7 64 Bit - Wohnort: Nordhessen - früher : Südniedersachsen
Ich hab folgendes probiert, das geht:
Ist evtl. der Pfad zu deiner .wav-Datei falsch?
Kannst du die Datei im WindowsMediaPlayer abspielen?
Hat die Datei vielleicht `ne Macke?
Ich benutze PB4.00!
Müßte aber in 3.94 genauso gehen.
Code: Alles auswählen
If Not InitSound():End:EndIf
CatchSound(1,?sound)
PlaySound(1)
Delay(1000)
End
DataSection
sound:
IncludeBinary "C:\Windows\media\chimes.wav"
EndDataSection
Kannst du die Datei im WindowsMediaPlayer abspielen?
Hat die Datei vielleicht `ne Macke?
Ich benutze PB4.00!
Müßte aber in 3.94 genauso gehen.
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Manchmal ist der längeparameter bei CatchSound erforderlich. Das Beispiel von bizzl würde dann so aussehen:
Code: Alles auswählen
If Not InitSound():End:EndIf
CatchSound(1,?sound, ?soundend - ?sound)
PlaySound(1)
Delay(1000)
End
DataSection
sound:
IncludeBinary "C:\Windows\media\chimes.wav"
soundend:
EndDataSection PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

@bizzl:
Es war egal, welche Datei ich abspielen wollte, es hat nie geklappt!
Dein Code funktioniert bei mit im Übrigen auch nicht:
Fehlermeldung: "Zeile 1: Garbage at the end of line!"
Ich hab dann die erste Zeile verkürzt auf "InitSound()" ohne
Fehlererkennung. Das Programm ist dann wieder bis PlaySound(1, ?sound)
gelaufen und gab dann wieder den gleichen Fehler wie bei meinem Programm aus. Kann das an meiner älteren PureBasic Version 3.30 liegen?
@ts-soft: Bei mir zeigt es wieder den gleichen Fehler in Zeile eins und noch einen weiteren in Zeile zwei: "incorrect number of Parameters!"
Ich glaub der Fehler liegt wirklich an meiner PureBasic-Version
----------
Hab's jetzt mal mit dem Code probiert:
If InitSound() = 0 :End:EndIf
CatchSound(1,?sound - ?soundend)
PlaySound(1)
Delay(5000)
End
DataSection
sound:
IncludeBinary "C:\Windows\media\chimes.wav"
soundend:
EndDataSection
Ergebnis: "#sound object not initialized!"
Es war egal, welche Datei ich abspielen wollte, es hat nie geklappt!
Dein Code funktioniert bei mit im Übrigen auch nicht:
Fehlermeldung: "Zeile 1: Garbage at the end of line!"
Ich hab dann die erste Zeile verkürzt auf "InitSound()" ohne
Fehlererkennung. Das Programm ist dann wieder bis PlaySound(1, ?sound)
gelaufen und gab dann wieder den gleichen Fehler wie bei meinem Programm aus. Kann das an meiner älteren PureBasic Version 3.30 liegen?
@ts-soft: Bei mir zeigt es wieder den gleichen Fehler in Zeile eins und noch einen weiteren in Zeile zwei: "incorrect number of Parameters!"
Ich glaub der Fehler liegt wirklich an meiner PureBasic-Version
----------
Hab's jetzt mal mit dem Code probiert:
If InitSound() = 0 :End:EndIf
CatchSound(1,?sound - ?soundend)
PlaySound(1)
Delay(5000)
End
DataSection
sound:
IncludeBinary "C:\Windows\media\chimes.wav"
soundend:
EndDataSection
Ergebnis: "#sound object not initialized!"
Zuletzt geändert von Ma.Fe am 21.05.2006 22:12, insgesamt 1-mal geändert.
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
probiere es mal ohne Datasection:
Ansonsten weiß ich nicht, CatchSound gibts seit V 3.00
Code: Alles auswählen
If InitSound()= 0
End
EndIf
CatchSound(1,?sound)
PlaySound(1)
Delay(1000)
End
sound:
IncludeBinary "C:\Windows\media\chimes.wav"PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Aber das End vor dem IncludeBinary nicht vergessen 
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Deine Schlußfolgerung ist falschMa.Fe hat geschrieben:Klasse! Jetzt hat's geklappt!!!
Ich muss also das "Datasection" weglassen.
Das muss man erstmal rausfinden!
Vielen Dank für die Hilfe!
Du musst nicht Datasection weglassen, sondern Dir 'ne
aktuelle PB-Version besorgen.
pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.