Hallo,
ich habe ein ganz einfaches Problem (so scheint es) kanns aber nicht lösen:
Ich habe jede Menge Musikstücke in einer
Access datenbank abgelegt.
Zur Wiedergabe benutze ich die Komponente Tmediaplayer. Um ein Musikstück anhören zu können muss ich dieses jedesmal auf Platte schreiben und dann dem Mediaplayer zuweisen. Extrem umständlich.
Ich habe es geschafft den WMA Binärcode in einen Memorystream zu schreiben.
Wie krieg ich den Mediaplayer dazu, dass er die Daten nicht aus der Datei sondern aus dem Stream abspielt?
Delphi-Quellcode:
//damit hols ichs aus der datenbank und schreibs auf die Platte
save_access_to_file(ADOQ,'',ADOQTitel.asstring,'Filename','Code');
//Das ist der Name des Files
MP.Filename := ADOQFilename.asstring;
//Abspielen
MP.Open;
//So geht das laden in einen Steam bei Timage
//hätte das aber gerne beim Mediaplayer
Procedure save_access_to_Image(s,t: TObject;Fieldname:string);
var AStream: TStream;
begin
AStream := TADOTable(s).CreateBlobStream(TADOTable(s).FieldByName(Fieldname), bmRead);
TImage(t).Picture.Icon.LoadFromStream(AStream);
end;
Vielen Dank im Vorraus