Avi-player


AVI-Player für Delphi
Autor: ANDREA MOLINO

Dies ist ein Steuerelement für die Wiedergabe von Avi-Dateien.
Einheit AVICtrl;
Schnittstelle
{TAVIControl V 0.9 b
Programmiert von
Andrea Molino
[email protected]
}
verwendet
Windows, Nachrichten, SysUtils, Klassen, Graphics, Steuerelemente, CommCtrl;
Typ
TAVIControlState = (AcsClose, AcsOpen, AcsPlay);
TAVIControlError = (AcrOK, AcrOpenFailed, AcrPlayFailed, AcsSeekFailed);
TAVIControl = class(TWinControl)
Private
FAVIState: TAVIControlState;
FAVIName: String;
FFrameFrom: SmallInt;
FFrameTo: SmallInt;
FFrameSeek: SmallInt;
FAutoSize: Boolean;
FAutoRepeat: Boolean;
FLastOpStatus: TAVIControlError;
FAux: String;
Prozedur SetAVIState(Val: TAVIControlState);
Prozedur SetAVIName(Val: String);
Prozedur SetFrameFrom(Val: SmallInt);
Prozedur SetFrameTo(Val: SmallInt);
Prozedur SetFrameSeek(Val: SmallInt);
Prozedur SetAutoSize(Val: Boolean);
Prozedur SetAutoRepeat(Val: Boolean);
Funktion GetLastOpStatus: String;
geschützt
Verfahren CreateParams (Var Params: TCreateParams); Außer Kraft setzen;
Prozedur CreateWnd; Außer Kraft setzen;
öffentliche
Konstruktor Create(AOwner: TComponent); außer Kraft setzen;
Destruktor zerstören; außer Kraft setzen;
Funktion Open(FileName: String): Boolean;
Verfahren schließen;
Play-Funktion (FName: String; RepCount: SmallInt): Boolean;
Funktion Seek(Frame: SmallInt): Boolean;
Prozedur anhalten;
veröffentlicht
Eigenschaft AVIState: TAVIControlState Read FAVIState schreiben SetAVIState Standard-AcsClose;
Eigenschaft AVIName: String lesen FAVIName Write SetAVIName;
Eigenschaft FrameFrom: SmallInt lesen FFrameFrom schreiben SetFrameFrom Voreinstellung 0;
Eigenschaft FrameTo: SmallInt lesen FFrameTo schreiben SetFrameTo Standardwert-1;
Eigenschaft FrameSeek: SmallInt lesen FFrameSeek schreiben SetFrameSeek Voreinstellung 0;
Eigenschaft AutoSize: Boolean lesen FAutoSize schreiben SetAutoSize Standardwert False;
Eigenschaft AutoRepeat: Boolean wahr FAutoRepeat schreiben SetAutoRepeat Standard zu lesen;
Eigenschaft ZStatus: String lesen FAux GetLastOpStatus schreiben;
Eigenschaft Align;
Eigenschaft Enabled;
PopupMenu Eigentum;
ShowHint Eigentum;
Eigenschaft Visible;
OnMouseDown Eigentum;
OnMouseMove Eigentum;
OnMouseUp Eigentum;
Ende;
Register des Verfahrens;
Umsetzung
Konstruktor TAVIControl.Create(AOwner: TComponent);
BEGIN
geerbte Create(AOwner);
ControlStyle: = ControlStyle-[CsSetCaption];
FAVIState: = AcsClose;
FFrameFrom: = 0;
FFrameTo: =-1;
FAutoSize: = False;
FAutoRepeat: = True;
FLastOpStatus: = AcrOK;
Breite: = 30;
Höhe: = 30;
Ende;
Destruktor TAVIControl.Destroy;
BEGIN
Geerbte zerstören;
Ende;
Procedure TAVIControl.CreateParams (Var Params: TCreateParams);
beginnen
{ACS_AUTOPLAY - startet die Animation abspielen, sobald der Animation Clip geöffnet wird.
ACS_CENTER - Zentren die Animation in dem Animation-Steuerelement Fenster.
ACS_TRANSPARENT - zeichnet die Animation mit einem transparenten Hintergrund statt
die Hintergrundfarbe in der Animation Clip angegeben.}
InitCommonControls;
Geerbte CreateParams(Params);
CreateSubClass (Params, 'SysAnimate32');
Mit Params-do
BEGIN
Stil: = Stil oder ACS_TRANSPARENT;
Wenn nicht dann FAutoSize Stil: = Stil oder ACS_CENTER;
Ende;
Ende;
Prozedur TAVIControl.CreateWnd;
beginnen
Geerbte CreateWnd;
Wenn FAVIState = AcsOpen dann Open(FAVIName);
Wenn FAVIState = AcsPlay Then
BEGIN
Open(FAVIName);
Play('', 0);
Ende;
Ende;
Prozedur TAVIControl.SetAVIState(Val: TAVIControlState);
BEGIN
Wenn Val <> FAVIState dann
BEGIN
& nbsp ; FAVIState: = Val;
RS FAVIState der
AcsOpen: beginnen
Open(FAVIName)
Ende;
AcsPlay: beginnen
Open(FAVIName);
Play('', 0);
Ende;
AcsClose: schließen;
Ende;
Ende;
Ende;
Prozedur TAVIControl.SetAVIName(Val: String);
Var
FTmpState: TAVIControlState;
BEGIN
Wenn Val <> FAVIName dann
BEGIN
FAVIName: = Val;
FTmpState: = FAVIState;
Schließen;
Wenn FTmpState = AcsOpen dann Open(FAVIName);
Wenn FTmpState = AcsPlay dann Play('', 0);
Ende;
Ende;
Prozedur TAVIControl.SetFrameFrom(Val: SmallInt);
BEGIN
Wenn Val <> FFrameFrom dann
BEGIN
FFrameFrom: = Val;
Wenn FAVIState = AcsPlay dann Play('', 0);
Ende;
Ende;
Prozedur TAVIControl.SetFrameTo(Val: SmallInt);
BEGIN
Wenn Val <> FFrameTo dann
BEGIN
FFrameTo: = Val;
Wenn FAVIState = AcsPlay dann Play('', 0);
Ende;
Ende;
Prozedur TAVIControl.SetFrameSeek(Val: SmallInt);
BEGIN
Wenn Val <> FFrameSeek dann
BEGIN
FFrameSeek: = Val;
Seek(FrameSeek);
Ende;
Ende;
Prozedur TAVIControl.SetAutoSize(Val: Boolean);
BEGIN
Wenn Val <> FAutoSize dann
BEGIN
FAutoSize: = Val;
RecreateWnd;
Ende;
Ende;
Prozedur TAVIControl.SetAutoRepeat(Val: Boolean);
BEGIN
Wenn Val <> FAutoRepeat dann
BEGIN
FAutoRepeat: = Val;
Wenn FAVIState = AcsPlay dann Play('', 0);
Ende;
Ende;
Funktion TAVIControl.GetLastOpStatus: String;
BEGIN
RS FLastOpStatus der
AcrOK: Ergebnis: = 'OK';
AcrOpenFailed: Ergebnis: = 'Open Failed';
AcrPlayFailed: Ergebnis: = 'Spielen fehlgeschlagen';
Ende;
Ende;
Funktion TAVIControl.Open(FileName: String): Boolean;
Var
Res: LongInt;
BEGIN
FLastOpStatus: = AcrOK;
Wenn FAVIState <> AcsClose geschlossen;
Res: = SendMessage (Griff, ACM_OPEN, 0, LongInt(PChar(FileName)));
FAVIName: = Dateiname;
Wenn Res <> 0, dann FAVIState: = AcsOpen
Sonst FLastOpStatus: = AcrOpenFailed;
Ergebnis: = (Res <> 0);
Ende;
Prozedur TAVIControl.Close;
Var
Res: LongInt;
BEGIN
FLastOpStatus: = AcrOK;
Res: = SendMessage (Handle, ACM_OPEN, 0, 0);
FAVIState: = AcsClose;
Neuzeichnen;
Ende;
Funktion TAVIControl.Seek(Frame: SmallInt): Boolean;
Var
Res: LongInt;
BEGIN
FLastOpStatus: = AcrOK;
Wenn FAVIState = AcsClose dann Open(FAVIName)
Sonst wenn FAVIState = AcsPlay dann aufhören;
Wenn FAVIState <> AcsClose dann
BEGIN
Res: = SendMessage (Handle, ACM_PLAY, 1, MAKELONG (Frame, Frame));
Wenn Res = 0 dann FLastOpStatus: = AcsSeekFailed;
Ergebnis: = (Res <> 0);
Ende
Anderes Ergebnis: = False;
Ende;
Funktion TAVIControl.Play (FName: String; RepCount: SmallInt): Boolean;
Var
Res: LongInt;
Repräsentant: SmallInt;
BEGIN
FLastOpStatus: = AcrOK;
Wenn FName = '' dann Open(FAVIName)
Sonst Open(FName);
Wenn FAVIState <> AcsClose dann
BEGIN
Wenn FAutoRepeat und (RepCount = 0) dann Rep: =-1
Elseif RepCount = 0 Then Rep: = 1
Sonst Rep: = RepCount;
Res: = SendMessage (Griff, ACM_PLAY, Rep, MAKELONG (FFrameFrom, FFrameTo));
Wenn (Res <> 0) und FAutoRepeat dann FAVIState: = AcsPlay
Sonst FLastOpStatus: = AcrPlayFailed;
Ergebnis: = (Res <> 0);
Ende
Anderes Ergebnis: = False;
Ende;
Prozedur TAVIControl.Stop;
Var
Res: LongInt;
BEGIN
FLastOpStatus: = AcrOK;
Wenn FAVIState <> AcsClose dann
BEGIN
Res: = SendMessage (Handle, ACM_PLAY, 0, MAKELONG (0, 0));
Wenn FAVIState = AcsPlay dann FAVIState: = AcsOpen;
Ende;
Ende;
Register des Verfahrens;
beginnen
RegisterComponents ('MyGold', [TAVIControl]);
Ende;
Ende.









Avi-player


Avi-player : Mehreren tausend Tipps, um Ihr Leben einfacher machen.


AVI-Player für Delphi
Autor: ANDREA MOLINO

Dies ist ein Steuerelement für die Wiedergabe von Avi-Dateien.
Einheit AVICtrl;
Schnittstelle
{TAVIControl V 0.9 b
Programmiert von
Andrea Molino
[email protected]
}
verwendet
Windows, Nachrichten, SysUtils, Klassen, Graphics, Steuerelemente, CommCtrl;
Typ
TAVIControlState = (AcsClose, AcsOpen, AcsPlay);
TAVIControlError = (AcrOK, AcrOpenFailed, AcrPlayFailed, AcsSeekFailed);
TAVIControl = class(TWinControl)
Private
FAVIState: TAVIControlState;
FAVIName: String;
FFrameFrom: SmallInt;
FFrameTo: SmallInt;
FFrameSeek: SmallInt;
FAutoSize: Boolean;
FAutoRepeat: Boolean;
FLastOpStatus: TAVIControlError;
FAux: String;
Prozedur SetAVIState(Val: TAVIControlState);
Prozedur SetAVIName(Val: String);
Prozedur SetFrameFrom(Val: SmallInt);
Prozedur SetFrameTo(Val: SmallInt);
Prozedur SetFrameSeek(Val: SmallInt);
Prozedur SetAutoSize(Val: Boolean);
Prozedur SetAutoRepeat(Val: Boolean);
Funktion GetLastOpStatus: String;
geschützt
Verfahren CreateParams (Var Params: TCreateParams); Außer Kraft setzen;
Prozedur CreateWnd; Außer Kraft setzen;
öffentliche
Konstruktor Create(AOwner: TComponent); außer Kraft setzen;
Destruktor zerstören; außer Kraft setzen;
Funktion Open(FileName: String): Boolean;
Verfahren schließen;
Play-Funktion (FName: String; RepCount: SmallInt): Boolean;
Funktion Seek(Frame: SmallInt): Boolean;
Prozedur anhalten;
veröffentlicht
Eigenschaft AVIState: TAVIControlState Read FAVIState schreiben SetAVIState Standard-AcsClose;
Eigenschaft AVIName: String lesen FAVIName Write SetAVIName;
Eigenschaft FrameFrom: SmallInt lesen FFrameFrom schreiben SetFrameFrom Voreinstellung 0;
Eigenschaft FrameTo: SmallInt lesen FFrameTo schreiben SetFrameTo Standardwert-1;
Eigenschaft FrameSeek: SmallInt lesen FFrameSeek schreiben SetFrameSeek Voreinstellung 0;
Eigenschaft AutoSize: Boolean lesen FAutoSize schreiben SetAutoSize Standardwert False;
Eigenschaft AutoRepeat: Boolean wahr FAutoRepeat schreiben SetAutoRepeat Standard zu lesen;
Eigenschaft ZStatus: String lesen FAux GetLastOpStatus schreiben;
Eigenschaft Align;
Eigenschaft Enabled;
PopupMenu Eigentum;
ShowHint Eigentum;
Eigenschaft Visible;
OnMouseDown Eigentum;
OnMouseMove Eigentum;
OnMouseUp Eigentum;
Ende;
Register des Verfahrens;
Umsetzung
Konstruktor TAVIControl.Create(AOwner: TComponent);
BEGIN
geerbte Create(AOwner);
ControlStyle: = ControlStyle-[CsSetCaption];
FAVIState: = AcsClose;
FFrameFrom: = 0;
FFrameTo: =-1;
FAutoSize: = False;
FAutoRepeat: = True;
FLastOpStatus: = AcrOK;
Breite: = 30;
Höhe: = 30;
Ende;
Destruktor TAVIControl.Destroy;
BEGIN
Geerbte zerstören;
Ende;
Procedure TAVIControl.CreateParams (Var Params: TCreateParams);
beginnen
{ACS_AUTOPLAY - startet die Animation abspielen, sobald der Animation Clip geöffnet wird.
ACS_CENTER - Zentren die Animation in dem Animation-Steuerelement Fenster.
ACS_TRANSPARENT - zeichnet die Animation mit einem transparenten Hintergrund statt
die Hintergrundfarbe in der Animation Clip angegeben.}
InitCommonControls;
Geerbte CreateParams(Params);
CreateSubClass (Params, 'SysAnimate32');
Mit Params-do
BEGIN
Stil: = Stil oder ACS_TRANSPARENT;
Wenn nicht dann FAutoSize Stil: = Stil oder ACS_CENTER;
Ende;
Ende;
Prozedur TAVIControl.CreateWnd;
beginnen
Geerbte CreateWnd;
Wenn FAVIState = AcsOpen dann Open(FAVIName);
Wenn FAVIState = AcsPlay Then
BEGIN
Open(FAVIName);
Play('', 0);
Ende;
Ende;
Prozedur TAVIControl.SetAVIState(Val: TAVIControlState);
BEGIN
Wenn Val <> FAVIState dann
BEGIN
& nbsp ; FAVIState: = Val;
RS FAVIState der
AcsOpen: beginnen
Open(FAVIName)
Ende;
AcsPlay: beginnen
Open(FAVIName);
Play('', 0);
Ende;
AcsClose: schließen;
Ende;
Ende;
Ende;
Prozedur TAVIControl.SetAVIName(Val: String);
Var
FTmpState: TAVIControlState;
BEGIN
Wenn Val <> FAVIName dann
BEGIN
FAVIName: = Val;
FTmpState: = FAVIState;
Schließen;
Wenn FTmpState = AcsOpen dann Open(FAVIName);
Wenn FTmpState = AcsPlay dann Play('', 0);
Ende;
Ende;
Prozedur TAVIControl.SetFrameFrom(Val: SmallInt);
BEGIN
Wenn Val <> FFrameFrom dann
BEGIN
FFrameFrom: = Val;
Wenn FAVIState = AcsPlay dann Play('', 0);
Ende;
Ende;
Prozedur TAVIControl.SetFrameTo(Val: SmallInt);
BEGIN
Wenn Val <> FFrameTo dann
BEGIN
FFrameTo: = Val;
Wenn FAVIState = AcsPlay dann Play('', 0);
Ende;
Ende;
Prozedur TAVIControl.SetFrameSeek(Val: SmallInt);
BEGIN
Wenn Val <> FFrameSeek dann
BEGIN
FFrameSeek: = Val;
Seek(FrameSeek);
Ende;
Ende;
Prozedur TAVIControl.SetAutoSize(Val: Boolean);
BEGIN
Wenn Val <> FAutoSize dann
BEGIN
FAutoSize: = Val;
RecreateWnd;
Ende;
Ende;
Prozedur TAVIControl.SetAutoRepeat(Val: Boolean);
BEGIN
Wenn Val <> FAutoRepeat dann
BEGIN
FAutoRepeat: = Val;
Wenn FAVIState = AcsPlay dann Play('', 0);
Ende;
Ende;
Funktion TAVIControl.GetLastOpStatus: String;
BEGIN
RS FLastOpStatus der
AcrOK: Ergebnis: = 'OK';
AcrOpenFailed: Ergebnis: = 'Open Failed';
AcrPlayFailed: Ergebnis: = 'Spielen fehlgeschlagen';
Ende;
Ende;
Funktion TAVIControl.Open(FileName: String): Boolean;
Var
Res: LongInt;
BEGIN
FLastOpStatus: = AcrOK;
Wenn FAVIState <> AcsClose geschlossen;
Res: = SendMessage (Griff, ACM_OPEN, 0, LongInt(PChar(FileName)));
FAVIName: = Dateiname;
Wenn Res <> 0, dann FAVIState: = AcsOpen
Sonst FLastOpStatus: = AcrOpenFailed;
Ergebnis: = (Res <> 0);
Ende;
Prozedur TAVIControl.Close;
Var
Res: LongInt;
BEGIN
FLastOpStatus: = AcrOK;
Res: = SendMessage (Handle, ACM_OPEN, 0, 0);
FAVIState: = AcsClose;
Neuzeichnen;
Ende;
Funktion TAVIControl.Seek(Frame: SmallInt): Boolean;
Var
Res: LongInt;
BEGIN
FLastOpStatus: = AcrOK;
Wenn FAVIState = AcsClose dann Open(FAVIName)
Sonst wenn FAVIState = AcsPlay dann aufhören;
Wenn FAVIState <> AcsClose dann
BEGIN
Res: = SendMessage (Handle, ACM_PLAY, 1, MAKELONG (Frame, Frame));
Wenn Res = 0 dann FLastOpStatus: = AcsSeekFailed;
Ergebnis: = (Res <> 0);
Ende
Anderes Ergebnis: = False;
Ende;
Funktion TAVIControl.Play (FName: String; RepCount: SmallInt): Boolean;
Var
Res: LongInt;
Repräsentant: SmallInt;
BEGIN
FLastOpStatus: = AcrOK;
Wenn FName = '' dann Open(FAVIName)
Sonst Open(FName);
Wenn FAVIState <> AcsClose dann
BEGIN
Wenn FAutoRepeat und (RepCount = 0) dann Rep: =-1
Elseif RepCount = 0 Then Rep: = 1
Sonst Rep: = RepCount;
Res: = SendMessage (Griff, ACM_PLAY, Rep, MAKELONG (FFrameFrom, FFrameTo));
Wenn (Res <> 0) und FAutoRepeat dann FAVIState: = AcsPlay
Sonst FLastOpStatus: = AcrPlayFailed;
Ergebnis: = (Res <> 0);
Ende
Anderes Ergebnis: = False;
Ende;
Prozedur TAVIControl.Stop;
Var
Res: LongInt;
BEGIN
FLastOpStatus: = AcrOK;
Wenn FAVIState <> AcsClose dann
BEGIN
Res: = SendMessage (Handle, ACM_PLAY, 0, MAKELONG (0, 0));
Wenn FAVIState = AcsPlay dann FAVIState: = AcsOpen;
Ende;
Ende;
Register des Verfahrens;
beginnen
RegisterComponents ('MyGold', [TAVIControl]);
Ende;
Ende.


Avi-player

Avi-player : Mehreren tausend Tipps, um Ihr Leben einfacher machen.
Avi-player
Wiezutun
Freunden empfehlen
  • gplus
  • pinterest

Kommentar

Einen Kommentar hinterlassen

Wertung