I get nothing but silence when this is done
assume the subs are called top to bottom
VB Code:
Option Explicit Dim DX As DirectX8 Dim DSound As DirectSound8 Dim DSAudio As IBasicAudio 'Basic Audio Objectt Dim DSEvent As IMediaEvent 'MediaEvent Object Dim DSControl As IMediaControl 'MediaControl Object Dim DSPosition As IMediaPosition 'MediaPosition Object Public DisableSound As Boolean Public DisableMusic As Boolean Public Sub InitDirectX8(ByVal Handle As Long) Set DX = New DirectX8 Set DSound = DX.DirectSoundCreate("") DSound.SetCooperativeLevel Handle, DSSCL_NORMAL End Sub Public Sub LoadMusic(FileName As String) 'On Error GoTo ErrorHandle: Set DSControl = New FilgraphManager FileName = App.Path & "\tilesets\" & FileName Select Case Right(FileName, 4) Case ".wav", ".mid", ".mp3" Case Else If Dir(FileName & ".mid") <> "" Then FileName = FileName + ".mid" ElseIf Dir(FileName & ".mp3") <> "" Then FileName = FileName + ".mp3" End If End Select Call DSControl.RenderFile(FileName) 'yes, a valid midi file Set DSAudio = DSControl DSAudio.Volume = 0 DSAudio.Balance = 0 Set DSEvent = DSControl Set DSPosition = DSControl If ObjPtr(DSPosition) Then DSPosition.Rate = 1# DSPosition.CurrentPosition = 0 end sub Public Sub PlayMusic() 'On Error Resume Next If DisableMusic = False Then DSControl.Stop DSPosition.CurrentPosition = 0 DSPosition.Rate = 1 DSAudio.Volume = 0 DSAudio.Balance = 0 DSControl.Run End If End Sub


Reply With Quote
