Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
help:Play Midi Problems
#1
help me wit this one lol

Code:
Public Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long

Public Sub PlayMidi(Song As String)
Dim i As Long
    
    i = mciSendString("close all", 0, 0, 0)
    i = mciSendString("open " & App.Path & "\Music\" & Song & " type sequencer alias background", 0, 0, 0)
    i = mciSendString("play background notify", 0, 0, frmMirage.hWnd)
End Sub
this code doesnt work... can someone post a code here to play midis that actually work?
Reply
#2
yeah I can give you the code I use in my snake game...

Code:
Public Declare Function mciSendString Lib "winmm.dll" Alias _
    "mciSendStringA" (ByVal lpstrCommand As String, ByVal _
    lpstrReturnString As Any, ByVal uReturnLength As Long, ByVal _
    hwndCallback As Long) As Long

Public Sub OpenSong()
i = mciSendString("open music.mid type sequencer alias mid1", 0&, 0, 0)
End Sub

Public Sub Play()
i = mciSendString("play mid1", 0&, 0, 0)
End Sub

Ok I put that all in a mod like modSound.

"music.mid" you name as the name of your midi song.
"mid1" is the name that you give it... you dont have to change this at all unless you want too.

Now whenever you want it to play the music add in calls for opensong and play...

Call OpenSong
Call Play

thats all you have to do to get it playing.

Now if you want it to loop or something there is more code and I can help you with that if you like. Tell me if you can get it from here.

EDIT:
I looked at your code actually now and I see that you have the midi file named as 2 different things... thats probably your problem

one you have it Background and the other Background something.

Try that out.
Reply
#3
Not2BeTrusted2 Wrote:help me wit this one lol

Code:
Public Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long

Public Sub PlayMidi(Song As String)
Dim i As Long
    
    i = mciSendString("close all", 0, 0, 0)
    i = mciSendString("open " & App.Path & "\Music\" & Song & " type sequencer alias background", 0, 0, 0)
    i = mciSendString("play background notify", 0, 0, frmMirage.hWnd)
End Sub
this code doesnt work... can someone post a code here to play midis that actually work?

you missed out four '""'s

Code:
Public Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long

Public Sub PlayMidi(Song As String)
Dim i As Long
    
    i = mciSendString("close all", 0, 0, 0)
    i = mciSendString("open """ & App.Path & "\Music\" & Song & """ type sequencer alias background", 0, 0, 0)
    i = mciSendString("play background notify", 0, 0, frmMirage.hWnd)
End Sub

~Kite
Quote:Robin:
Why aren't maps and shit loaded up in a dynamic array?
Jacob:
the 4 people that know how are lazy
Robin:
Who are those 4 people?
Jacob:
um
you, me, and 2 others?
Reply
#4
ohh thank u but that code wit it kind of lags
Code:
Public Sub PlayMidi(Song As String)
Dim i As Long
    i = mciSendString("close all", 0, 0, 0)
    i = mciSendString("open """ & App.Path & "\Music\" & Song & """ type sequencer alias background", 0, 0, 0)
    i = mciSendString("play background notify", 0&, 0, frmMirage.hwnd)
End Sub

and for the other guy above that code wit the mid1 instead of background yes i get that code and i would like to get the loop
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)