Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge

Soundeffekte mit VB 5

ackaman / 3 Antworten / Baumansicht Nickles

Hi,
ich habe mit VB 5 ein einfaches Lern-/Ratespiel programmiert.

Nun möchte ich,dass nach jeder Antwort abhängig davon,ob sie richtig oder falsch beantwortet wurde,ein bestimmtes wav-file abgespielt wird.
Wollte dazu das Multimedia-Steuerelement benutzen,habe jedoch das Problem,dass nach jedem Programmstart die Sache nur einmal funktioniert,d.h. nur bei einer richtigen Antwort.
Bei der nächsten bleibt alles stumm,obwohl die Bedingungen für den Soundeffekt erfüllt sind.

Weiß jemand Rat ?

bei Antwort benachrichtigen
ph¡l ackaman „Soundeffekte mit VB 5“
Optionen

'===================================================
'Beschreibung: .wav files mit Hilfe der sndPlaySound API Funktion abspielen!
'Einfach alles in ein modul kopieren!
'
'phfr@email.com
'==================================================


' sndPlaySound-API deklarieren, API befindet sich in winmm.dll Datei, argumente lpszSoundName und uFlags
Private Declare Function sndPlaySound& Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long)

' Konstanten (flags)
Private Const SND_ASYNC = &H1 ' Code wird nach dem abspielen wieter ausgeführt, asyncron
Private Const SND_LOOP = &H8 ' Wird mit SND_ASYNC verwendet, Die Datei wird wiederholt gespielt bis sndPlaySound dem ersten ARgument als NULL aufgerufen wird!
Private Const SND_MEMORY = &H4 ' Die zuspielende Datei wird in den SPeicher geladen!
Private Const SND_NODEFAULT = &H2 ' Wenn die Datei nicht gefunden werden kann kehrt die Funktion zurück d.h. code wird weiter ausgefürht. Standard sound datei wird gespielt
Private Const SND_NOSTOP = &H10 ' Die Funktion kehrt ohne die Datei abzuspielen zurück wenn gerade eine andere Datei gespielt wird
Private Const SND_SYNC = &H0 ' Die Funktion kehrt erst zurück wenn die Datei fertig gespielt ist. (synchron)

' BEispiel

'sndPlaySound "c:\path\to\file.wav", SND_FLAG1

' für mehrere flags:

'sndPlaySound "c:\path\to\file.wav", SND_FLAG1 Or SND_FLAG2

' um einen sound ständig zu loopen:

'sndPlaySound "c:\path\to\file.wav", SND_ASYNC Or SND_LOOP

' alle sounds beenden

'sndPlaySound vbNull, 0

'#################################

viel spass

PS: nur in vb6 getestet bin aber sicher dass das bei vb5 auch geht!

gruss
phfr@email.com

bei Antwort benachrichtigen
(Anonym) ackaman „Soundeffekte mit VB 5“
Optionen

das geht schon mit dem mmcontrol - du musst dem nur den befehl "prev" (o.ä.) geben, also das wav-file zurückspulen...

bei Antwort benachrichtigen
ph¡l (Anonym) „das geht schon mit dem mmcontrol - du musst dem nur den befehl prev o.ä. geben,...“
Optionen

Klar geht das mit dem Multimediacontrol auch, aber das ist meiner Meinung nach viel umständlicher und führt eher zu komplikationen!

bei Antwort benachrichtigen