Hi, so könnte es funktionieren eine resource aus einer exe bzw.
Dll in den Mediaplayer zu laden
Delphi-Quellcode:
procedure ...
var
Path :
String;
Res : TResourceStream;
handle: THandle;
begin
Path:=ExtractFilePath(Application.ExeName);
// Path der Exe ermitteln
if Path[Length(Path)] <> '
\'
then Path := Path +'
\';
// Backslash am Pathende?
handle := LoadLibrary('
SampleTest.dll');
// DLL laden
if handle = 0
then // Prüfen ob die DLL geladen ist
begin
ShowMessage('
Laden fehlgeschlagen');
Exit;
end;
//Res:=TResourceStream.Create(handle,'MYMIDI','MIDI_DATA'); // Resource aus DLL laden
Res:=TResourceStream.Create(hInstance,'
MYMIDI','
MIDI_DATA');
// Resource aus Exe laden
Try
Res.SaveToFile(Path + '
TmpSample.mid');
// File auf HD speichern
MediaPlayer1.Filename := Path + '
TmpSample.mid';
// MPlayer File laden
MediaPlayer1.Play;
// Sound abspielen
Finally
Res.Free;
// Resource freigeben
FreeLibrary(
handle);
// DLL aus dem Speicher freigeben
end;
end;
Die Resourcentextdatei (.RC):
Delphi-Quellcode:
MyMIDI MIDI_DATA "Sample.mid"
MyMIDI2 MIDI_DATA "Sample2.mid"
...
MfG.