![]() |
|
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: [ 584 ]
|
|
|