Einzelnen Beitrag anzeigen

Benutzerbild von City Light
City Light

Registriert seit: 17. Sep 2002
314 Beiträge
 
#1

Avi aus Resource laden und abspielen

  Alt 2. Feb 2003, 20:14
Hallo ich habe mal ein bisschen was gebastelt

meine frage bezieht sich auf diesem Code.
Kann mir einer sagen wie ich eine loop oder Replay funktion für die Avi bekomme so das ,daß Video immer als schleife abspielt.

das in die RC Datei schreiben
A1 AVI Film.avi

Datei speichern als Film.rc und so kompilieren
brcc32 Film.rc

Film.Res in Programm einbinden mit
{$R Film.res}


Delphi-Quellcode:
uses
    MMSystem;

  public
    { public-Deklarationen }
    procedure MMNotify(var message: TMessage); message MM_MCINOTIFY;
  end;


implementation
const Filename='~temp.avi';

{$R *.dfm}
{$R Film.res}

procedure TForm1.MMNotify(var message: TMessage);
begin
  MCISendString('close film', nil, 0, 0);
end;

{$WARNINGS OFF}
procedure Temp;
var
  rs: TCustomMemoryStream;
  s : string;
begin
  s := 'A1'; {Name der Resource}
  try
    rs := TResourceStream.Create(hInstance, s, 'AVI');
    rs.SavetoFile(Filename);
  finally
    rs.Free;
  end;
end;
{$WARNINGS ON}

procedure TForm1.Button1Click(Sender: TObject);
begin
  Temp();
  MCISendString(PChar('Play '+ filename), nil, 0, 0);
  {
  Oder auch im Vollbild:
  MCISendString(PChar('open '+ filename +' alias film'), nil, 0, 0);
  MCISendString('window film handle 0', nil, 0, 0);
  MCISendString('window film state show maximized', nil, 0, 0);
  MCISendString('play film notify', nil, 0, Form1.Handle);
  }

end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  if fileexists(filename) then
  deletefile(filename); // ~temp.avi' löschen;
end;

end.
Bis bald man liest sich
Tino
  Mit Zitat antworten Zitat