So - habs jetzt rausgefunden und möchte €uch diese recht einfache Variante nicht vorenthalten.
irgendwo im projekt global definieren:
const filename :string = '~tmp.mid';
dann eine Funktion, die das abspielen startet:
Delphi-Quellcode:
function startmidi(_resourcename : string) : boolean
var _sstream: TCustomMemoryStream;
begin
try
_sstream := TResourceStream.Create(hInstance, _resourcename, 'MIDIFILE');
_sstream.SavetoFile(filename);
finally
_sstream.Free;
end;
MCISendString(PChar('play '+ filename), nil, 0, 0);
result := true;
end;
und hier die Funktion für das Beenden
Delphi-Quellcode:
function endmidi : boolean
begin
MCISendString(PChar('stop ' + Filename), nil, 0, 0);
MCISendString('close sound', nil, 0, 0);
if fileexists(filename) then deletefile(filename);
result := true;
end;
Nachtrag: Die .RC - Datei (heisst bei mir: mucke.rc)
EURO midifile "4.mid"
Gruss
EL