dll und wav abspielen unter visual basic, directx=0 ???
Verfasst: 16.01.2007 09:46
hallo,
ich versuche mich gerade darin, funktionen in eine dll zu packen und diese dann über visual basic 5 abzuspielen.
Eigentlich soll erstmal nichts weltbewegendes passieren, nur auswahl einer wav datei und abspielen und stoppen (siehe unteren purebasiccode)
jetzt ist es aber so, daß wenn ich 2 oder 3 mal den sound aus visual basic abspiele, er mir plötzlich anzeigt, das er directx nicht mehr öffnen kann. obwohl ich den sound über die procedure(stopwav) gestoppt habe. oder muß man direktx anders auf null setzen ?
wenn ich dann den sound trotzdem nochmal abspiele, stürzt visual basic ab ;-(((
ich würde mich über antwort sehr freuen...
danke xverbatim
mein visual basic code sieht so aus.
ich versuche mich gerade darin, funktionen in eine dll zu packen und diese dann über visual basic 5 abzuspielen.
Eigentlich soll erstmal nichts weltbewegendes passieren, nur auswahl einer wav datei und abspielen und stoppen (siehe unteren purebasiccode)
jetzt ist es aber so, daß wenn ich 2 oder 3 mal den sound aus visual basic abspiele, er mir plötzlich anzeigt, das er directx nicht mehr öffnen kann. obwohl ich den sound über die procedure(stopwav) gestoppt habe. oder muß man direktx anders auf null setzen ?
wenn ich dann den sound trotzdem nochmal abspiele, stürzt visual basic ab ;-(((
ich würde mich über antwort sehr freuen...
danke xverbatim
mein visual basic code sieht so aus.
Code: Alles auswählen
Private Declare Function playwav Lib "c:\playwav.dll" () As Long
Private Declare Function stopwav Lib "c:\playwav.dll" () As Long
Private Sub Command1_Click()
Dim play As Long
play = playwav
End Sub
Private Sub Command2_Click()
Dim play As Long
play = stopwav
End Sub
Private Sub Form_Load()
End Sub
;'''''''''''''der purebasic code""""""""""""""
; ProcedureDLL.s playwav()
ProcedureDLL.l playwav()
If InitSound() = 0
MessageRequester("Error", "Can't open DirectX 7 or no sound card is available", 0)
EndIf
SoundFileName$ = OpenFileRequester("Choose a .wav file", "", "Wave files|*.wav",0)
If SoundFileName$
If LoadSound(0, SoundFileName$)
PlaySound(0,1)
MessageRequester("Sound", "Playing the sound (loop)..."+Chr(10)+"Click to quit..", 0)
Else
MessageRequester("Error", "Can't load the sound.", 0)
EndIf
EndIf
EndProcedure
; Global Rueckgabe.l
ProcedureDLL.l stopwav()
StopSound(-1)
EndProcedure