Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Wie kann man ein Video aus Res direkt abspielen ? (https://www.delphipraxis.net/154528-wie-kann-man-ein-video-aus-res-direkt-abspielen.html)

thomas2009 14. Sep 2010 14:17

Wie kann man ein Video aus Res direkt abspielen ?
 
Hallo
ich möchte das Video nicht von Resource auf de Festplatte speichern. Ich möchte es direkt aus Resource abspielen

Delphi-Quellcode:

procedure TForm1.Button1Click(Sender: TObject);
var
rStream: TResourceStream;
fStream: TFileStream;
fname: string;
begin
{this part extracts the avi from exe}
fname:=ExtractFileDir(Paramstr(0))+'Intro.avi'; // auf Festplatte speichern[/COLOR]
rStream := TResourceStream.Create
(hInstance, 'Intro', RT_RCDATA);
try
fStream := TFileStream.Create(fname, fmCreate);
try
fStream.CopyFrom(rStream, 0);
finally
fStream.Free;
end;
finally
rStream.Free;
end;
{this part plays the avi}
MediaPlayer1.Close;
MediaPlayer1.FileName:=fname;
MediaPlayer1.Open;
end;
Oder muss man unbedingt das Video zuerst auf die Festplatte speichern ?

MacGuyver 14. Sep 2010 15:02

AW: Wie kann man ein Video aus Res direkt abspielen ?
 
Rücke den Quelltext bitte etwas ein. Da kann man nichts erkennen.

Ok, ok, ich machs.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  rStream: TResourceStream;
  fStream: TFileStream;
  fname: string;
begin
  {this part extracts the avi from exe}
  fname:=ExtractFileDir(Paramstr(0))+'Intro.avi'; // auf Festplatte speichern[/COLOR]
  rStream := TResourceStream.Create
  (hInstance, 'Intro', RT_RCDATA);
  try
    fStream := TFileStream.Create(fname, fmCreate);
    try
      fStream.CopyFrom(rStream, 0);
    finally
      fStream.Free;
    end;
  finally
    rStream.Free;
  end;
  {this part plays the avi}
  MediaPlayer1.Close;
  MediaPlayer1.FileName:=fname;
  MediaPlayer1.Open;
end;
Kannst du nicht einfach ein Handle organisieren und dann das an den Mediaplayer weitergeben.

thomas2009 14. Sep 2010 15:47

AW: Wie kann man ein Video aus Res direkt abspielen ?
 
Zitat:

Zitat von MacGuyver (Beitrag 1049564)
Kannst du nicht einfach ein Handle organisieren und dann das an den Mediaplayer weitergeben.

Kannst Du mir bitte die Idee mehr erklären

MacGuyver 14. Sep 2010 15:54

AW: Wie kann man ein Video aus Res direkt abspielen ?
 
Du kannst auch Bilder aus einer Resource holen. Dann sollte es auch mit einem Video klappen.

DeddyH 14. Sep 2010 16:12

AW: Wie kann man ein Video aus Res direkt abspielen ?
 
Er holt das Video ja bereits aus der Ressource.

thomas2009 14. Sep 2010 16:48

AW: Wie kann man ein Video aus Res direkt abspielen ?
 
Ja er holt das Video zwar von resource aber er soll auch es abspielen und nicht zuerst auf die Festplate oder in Windows temp speichern :(

DeddyH 14. Sep 2010 16:54

AW: Wie kann man ein Video aus Res direkt abspielen ?
 
Das scheint so nicht zu gehen, zumindest habe ich in der Hilfe keinen Hinweis darauf gefunden, dass man dem TMediaPlayer einen Stream unterjubeln könnte oder dergleichen.

thomas2009 14. Sep 2010 20:20

AW: Wie kann man ein Video aus Res direkt abspielen ?
 
ich muss also die video-Datei in Windows Temp legen und dann von doert wieder laden :
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
res: TResourceStream;
temp: String;
  begin
  temp:=GetEnvironmentVariable('TEMP');
  res := TResourceStream.Create(hInstance, PChar('film1'),
PChar('AVI'));
   try
   res.SaveToFile(temp+'film1.avi');
   finally
   res.Free;
   end;
MediaPlayer1.Close;
MediaPlayer1.FileName:=temp+'film1.avi';
MediaPlayer1.Open;
MediaPlayer1.play;
end;
Es funktioniert aber es wäre für mich viel besser, wenn man das Video direkt aus res abspielen kann :|

lbccaleb 14. Sep 2010 20:58

AW: Wie kann man ein Video aus Res direkt abspielen ?
 
Doch, das geht auch, das ist allerdings nicht so einfach wie du dir das vorstellst. Durchstöber das Forum http://www.progdigy.com/forums/viewforum.php?f=1

allerdings ist das dort nur in Englscih, und du solltest weiterführende programmierkenntnisse haben, sonnst ist das für dich wohl nicht leicht hinn zu bekommen...

himitsu 14. Sep 2010 21:01

AW: Wie kann man ein Video aus Res direkt abspielen ?
 
Oder eine andere Videoplayerkomponente verwenden, welche direkt von einem Stream abspielen kann.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:29 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz