Ver Mensaje Individual
  #4  
Antiguo 11-02-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.114
Reputación: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Podrías utilizar el programa PE Resource Explorer para crear un archivo ".res" que contenga el archivo MIDI que quieres reproducir. Es muy sencillo, solamente has de ejecutar el programa y elegir la opción del menú "Import RC Data resource". Hecho esto ya puedes guardar el archivo ".res", para después poder añadirlo a tu ejecutable de la siguiente manera:

Código Delphi [-]
{$R midi.res}
Suponiendo que el archivo ".res" se ha nombrado "midi.res", claro está. A continuación ya puedes utilizar ese recurso para extraer del mismo el archivo "midi" al disco duro. A partir de ahí podrías reproducirlo utilizando la función "MCISendString", que se incluye en la unidad "MMSystem".

La cosa podría quedar más o menos así, con los retoques oportunos:

Código Delphi [-]
{$R midi.res}

uses
  MMSystem;

procedure TForm1.Button1Click(Sender: TObject);
var
  rs: TResourceStream;
begin
  rs := TResourceStream.Create(HInstance, 'MIDI', RT_RCDATA);
  try
    rs.SaveToFile('C:\midi.mid');
    MCISendString(PChar('play ' + 'C:\midi.mid'), nil, 0, 0);
  finally
    rs.Free;
  end;
end;
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita