Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Kizar en 19 Marzo 2006, 12:09 pm



Título: Reproducir MIDI
Publicado por: Kizar en 19 Marzo 2006, 12:09 pm
He estado mirando codes y demas y para reproducir los MIDI se necesita el directx, se podria hacer de otra manera, aunque sea con una dll...
O algun programa para convertir de MIDI a WAVE para reproducirlo con las apis.
Salu2


Título: Re: Reproducir MIDI
Publicado por: .Slasher-K. en 20 Marzo 2006, 18:26 pm
Playing MIDI Files (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_playing_midi_files.asp)


Título: Re: Reproducir MIDI
Publicado por: Kizar en 20 Marzo 2006, 20:28 pm
Ya puestos posteo lo que encontre.

Código:
Private 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 Function PlayMidiFile(MidiFile As String) As Boolean

'MidiFile = File's Full Path
'Returns: True if successful, false otherwise

Dim lRet As Long

On Error Resume Next

If Dir(MidiFile) = "" Then Exit Function
'Stop any currently playing .mid
lRet = mciSendString("stop midi", "", 0, 0)
lRet = mciSendString("close midi", "", 0, 0)

'Play
lRet = mciSendString("open sequencer!" & MidiFile & " alias midi", "", 0, 0)
lRet = mciSendString("play midi", "", 0, 0)
PlayMidiFile = (lRet = 0)
End Function

Public Function StopMidi() As Boolean

'Stops midi from playing
'Returns: True if successful, false otherwise

Dim lRet As Long

On Error Resume Next

'Stop any currently playing .midi
lRet = mciSendString("stop midi", "", 0, 0)
StopMidi = (lRet = 0)
lRet = mciSendString("close midi", "", 0, 0)


End Function