Sound          zurück

VB 6 :

sndPlaySound

'Dieses Projekt braucht :

'eine common dialog box, names cmdlg und ein Button

Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long

Private Declare Function waveOutGetNumDevs Lib "winmm.dll" () As Long

Const SND_ASYNC = &H1

Const SND_NODEFAULT = &H2

Private Sub Command1_Click()

ret& = waveOutGetNumDevs

If ret& > 0 Then

cmdlg.Filter = "Wave-files (*.wav)|*.wav|All Files (*.*)|*.*"

cmdlg.DialogTitle = "Wählen sie ein Wave File..."

cmdlg.ShowOpen

'abspielen

sndPlaySound cmdlg.filename, SND_ASYNC Or SND_NODEFAULT

Else

MsgBox "Keine Soundkarte gefunden !"

End If

End Sub

Private Sub Form_Load()

Command1.Caption = "Wave Laden"

End Sub


WAVE-Datei über Soundkarte abspielen

Mit nachfolgender Prozedur können Sie eine WAVE-Datei über die Soundkarte des PC's abspielen.

'Hier die benötigten API-Deklarationen

Declare Function sndPlaySound Lib "winmm.dll" Alias _

"sndPlaySoundA" (ByVal lpszSoundName As String, _

ByVal uFlags As Long) As Long

'Einstellungen für uFlags

Const SND_ASYNC = &H1

Const SND_LOOP = &H8

Const SND_SYN = &H0

SND_ASYNC: Die Sounddatei wird asynchrous abgespielt, d.h. die Anwendung läuft parallel dazu weiter

SND_LOOP: Die Sounddatei wird solange abgespielt (wiederholt), bis die sndPlaySound-Funktion erneut mit dem Parameter lpszSoundName = "" aufgerufen wird

SND_SYN: Die Anwendung wird erst nach Abspielung der Sounddatei fortgesetzt

Anstelle von lpszSoundName geben Sie bitte den vollständigen Dateinamen (inkl. Pfad) der abzuspielenden Sounddatei an.


Prüfen, ob eine Soundkarte installiert ist

Mit nachfolgender Routine können Sie feststellen, ob auf dem aktuellen System eine Soundkarte installiert ist.

'Hier die benötigten API-Deklarationen

Declare Function waveOutGetNumDevs Lib "winmm.dll" Alias _

"waveOutGetNumDevs" () As Long

'Die Funktion prüft, ob eine Soundkarte

'installiert ist und gibt im Erfolgsfall True zurück

Public Function SoundkarteOK() As Boolean

SoundkarteOK = (waveOutGetNumDevs()<>0)

End Function