Einzelnen Beitrag anzeigen

WS1976
(Gast)

n/a Beiträge
 
#1

Mediaplayer+streams

  Alt 14. Apr 2007, 14:23
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
  Mit Zitat antworten Zitat