I use the windows API (mciSemdMessage) to play music. for example:
rc = mciSendString("play myfile", 0, 0, 0)
How can I tell when the current file is finished so I can process another. I want to play a list of files one at a time.
Printable View
I use the windows API (mciSemdMessage) to play music. for example:
rc = mciSendString("play myfile", 0, 0, 0)
How can I tell when the current file is finished so I can process another. I want to play a list of files one at a time.
Here have a look at my MP3 player. Its a seperate DLL file with FULL documentation included and a sample program on how to use it :)
Heres the link:
http://homepage.ntlworld.com/bazza81/vbamp2source.zip
I'm having trouble getting the total number of frames for the mp3 file. Can anyone help.
Here is my code.
Dim lngRC As Long
Dim sTotal As String * 255
Dim sMySong as String
sMySong = "c:\temp\abc.mp3"
sCommand = "open " & sMySong & " type MPEGVideo"
lngRC = mciSendString(sCommand & " type MPEGVideo", 0, 0, 0)
lngRC = mciSendString("set MPEGVideo time format frames", sTotal, Len(sTotal), 0)
lngRC = mciSendString("status MPEGVideo length", sTotal, Len(sTotal), 0)
' here I get and error: lngRC = 274
giTotalFrames = Val(sTotal)
Here is my declare:
Public Declare Function mciSendString Lib "winmm.dll" _
Alias "mciSendStringA" (ByVal lpstrCommand As String, _
ByVal lpstrReturnString As String, ByVal uReturnLength As Long, _
ByVal hwndback As Long) As Long
The mci device doesn't support getting frames via a mp3 file. Only movie files.