vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück
Rubrik: Multimedia & Sound · Audio   |   VB-Versionen: VB.NET13.04.06
WAVE-Datei abspielen (.NET)

Mit diesem Code lässt sich eine WAVE-Datei über die Soundkarte des PC´s abspielen.

Autor:   Dieter OtterBewertung:     [ Jetzt bewerten ]Views:  16.005 
www.tools4vb.deSystem:  WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 Beispielprojekt auf CD 

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

' Benötigte API-Deklarationen
Private Declare Function sndPlaySound Lib "winmm.dll" _
  Alias "sndPlaySoundA" ( _
  ByVal lpszSoundName As String, _
  ByVal uFlags As Integer) As Integer
 
' Einstellungen für uFlags
Private Const SND_ASYNC As Integer = &H1
Private Const SND_LOOP As Integer = &H8
Private Const SND_SYN As Integer = &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.

Beispiel:
Die WAVE-Datei soll einmalig abgespielt werden, wobei das Programm wartet, bis die Datei vollständig abgespielt wurde.

sndPlaySound("Soundatei.wav", SND_SYN)

Die WAVE-Datei soll solange abgespielt werden, bis der Stop-Button gedrückt wurde.

Private Sub btnStart_Click(ByVal sender As System.Object, _
  ByVal e As System.EventArgs) Handles btnStart.Click
 
  ' Sounddatei im Loop abspielen
  sndPlaySound("Soundatei.wav", SND_ASYNC Or SND_LOOP)
End Sub
Private Sub btnStop_Click(ByVal sender As System.Object, _
  ByVal e As System.EventArgs) Handles btnStop.Click
 
  ' Soundwiedergabe stoppen
  sndPlaySound(0, SND_ASYNC)
End Sub