|
Tipp 0390
|
Sound-Dateien laden, abspielen, wiederholen
|
|
|
Autor/Einsender: Datum: |
|
Alexander Csadek 30.03.2004 |
|
Entwicklungsumgebung:
DirectX-Version: |
|
VB 6
DirectX 8 |
|
|
Mit diesem Beispiel können Sound (z.B. WAV-Dateien) geladen und abgespielt werden. Dazu gibt es zwei Möglichkeiten, ein einmaliger Durchlauf bis zum Ende des Sounds oder ein wiederholtes Abspielen (Loop).
|
|
|
Option Explicit
Dim DX As New DirectX8
Dim DS As DirectSound8
Dim dsWavDatei As DirectSoundSecondaryBuffer8
Private Sub Form_Load()
On Local Error GoTo ErrorHandler
Set DS = DX.DirectSoundCreate("")
DS.SetCooperativeLevel Me.hWnd, DSSCL_NORMAL
Me.Show
Exit Sub
ErrorHandler:
MsgBox "Direct Sound Objekt konnte nicht initialisiert werden."
End
End Sub
Private Sub cmd_Load_Click()
Dim dsBDesc As DSBUFFERDESC
On Error GoTo ErrorHandler
With dsBDesc
.lFlags = DSBCAPS_STATIC
End With
Set dsWavDatei = DS.CreateSoundBufferFromFile( _
App.Path & "\Sound.wav", dsBDesc)
cmd_Load.Enabled = False
cmd_Play.Enabled = True
Timer1.Enabled = True
Exit Sub
ErrorHandler:
MsgBox "Fehler beim Laden der Wav-Datei." & vbCr & _
Err.Number & "/" & Err.Description
End
End Sub
Private Sub cmd_Play_Click()
If chk_Loop.Value = 0 Then
dsWavDatei.Play DSBPLAY_DEFAULT
Else
dsWavDatei.Play DSBPLAY_LOOPING
End If
cmd_Play.Enabled = False
chk_Loop.Enabled = False
End Sub
Private Sub cmd_Stop_Click()
dsWavDatei.Stop
dsWavDatei.SetCurrentPosition 0
cmd_Play.Enabled = True
chk_Loop.Enabled = True
End Sub
Private Sub cmd_Close_Click()
Unload Me
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, _
UnloadMode As Integer)
Set dsWavDatei = Nothing
Set DS = Nothing
Set DX = Nothing
End
End Sub
Private Sub Timer1_Timer()
Dim dsc As DSCURSORS
dsWavDatei.GetCurrentPosition dsc
If dsc.lPlay > 0 Then
cmd_Stop.Enabled = True
Else
cmd_Stop.Enabled = False
cmd_Play.Enabled = True
chk_Loop.Enabled = True
End If
End Sub
|
|
|
|
|
|
Um dieses Beispiel ausführen zu können, wird die DirectX 8
for Visual Basic Type Library
benötigt (siehe dazu die Erläuterungen in der DirectX-Rubrik).
|
|
Windows-Version |
95 |
|
|
98/SE |
|
|
ME |
|
|
NT |
|
|
2000 |
|
|
XP |
|
|
Vista |
|
|
Win
7 |
|
|
|
VB-Version |
VBA 5 |
|
|
VBA 6 |
|
|
VB 4/16 |
|
|
VB 4/32 |
|
|
VB 5 |
|
|
VB 6 |
|
|
|
|
Download (37,1
kB)
|
Downloads bisher: [ 562 ]
|
|
|