FMOD Stream auf dem alten Channel erneut starten

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
young_boy
Beiträge: 15
Registriert: 20.03.2005 14:51

FMOD Stream auf dem alten Channel erneut starten

Beitrag von young_boy »

Hi, ich habe mich in letzter Zeit etwas mit den Funktionalitäten von FMOD beschäftigt. Nun bin aber auf ein Problem gestoßen: Ich möchte einen Stream starten, ihn stoppen und ihn auf dem selben Channel erneut starten. Ich habe dies mit folgendem Code versucht:

Code: Alles auswählen

If FSOUND_Init(44100,32,0)= 0
   MessageRequester("Fehler","Die Library 'FMOD.DLL' konnte nicht geöffnet werden werden")
  End
EndIf

text.s = OpenFileRequester("Open Stream","","*.*|*.*",0)
If text = ""
  End
EndIf

x = FSOUND_Stream_Open(text,0,0,0)
If x = 0
  MessageRequester("Fehler","Datei konnte nicht geöffnet werden!")
  End
EndIf

channel = FSOUND_Stream_Play(#FSOUND_FREE,x)
If channel = -1
  MessageRequester("Fehler","Stream konnte nicht gestartet werden!")
  End
EndIf

Delay(5000)

If FSOUND_Stream_Stop(x) = 0
  MessageRequester("Fehler","Stream konnte nicht gestoppt werden!")
  End
EndIf

channel2 = FSOUND_Stream_Play(channel,x)
If channel2 = -1
  MessageRequester("Fehler","Stream konnte nicht wiedergestartet werden!")
  End
EndIf
Debug channel
Debug channel2
Delay(5000)
FSOUND_Close()
Nach dem zweiten Starten tut sich aber nichts. Ersetzt man beim zweiten Starten channel durch #FSOUND_FREE so funktioniert alles Problemlos, jedoch verschwende ich einen zweiten Channel. Wie kann ich den Stream auf dem selben Channel erneut starten?
Benutzeravatar
Froggerprogger
Badmin
Beiträge: 855
Registriert: 08.09.2004 20:02

Beitrag von Froggerprogger »

Wenn ich mich recht entsinne, muss man eine channel-ID, also normalerweise eine Zahl zwischen 1-32 an Stream_Play übergeben. Du versuchst hier jedoch, das Handle channel zu übergeben.
!UD2
young_boy
Beiträge: 15
Registriert: 20.03.2005 14:51

Beitrag von young_boy »

Stimmt! :allright:
Problem gelöst!
Danke, die Lösung ist eigentlich banal, aber ich bin selbst nicht drauf gekommen.
Antworten