Obtenir le nombre de frame, la durée et la résolution d'une vidéo

{
--- english -------------------------------------------------------------------
Easiest way I know to get frame count, video length (in ms) and pixel resolution
of a video file.

}

unit MPlayerUnit;

interface

uses
Forms, Classes, Controls, MPlayer;

type
THiddenForm = class(TForm)
MediaPlayer: TMediaPlayer;
public
procedure GetProperties(
FileName: String;
var MediaFrames, MediaLength, MediaWidth, MediaHeight: Integer);
end;

var HiddenForm: THiddenForm;

implementation

{$R *.dfm}

procedure THiddenForm.GetProperties(
FileName: String;
var MediaFrames, MediaLength, MediaWidth, MediaHeight: Integer);
begin
MediaPlayer.FileName := FileName;
MediaPlayer.Wait := False;
MediaPlayer.Open;
MediaPlayer.TimeFormat := tfFrames;
MediaFrames := MediaPlayer.Length;
MediaPlayer.TimeFormat := tfMilliseconds;
MediaLength := MediaPlayer.Length;
MediaPlayer.DisplayRect := Rect(1, 1, 0, 0); {"0, 0" forces resolution autodetect}
MediaWidth := MediaPlayer.DisplayRect.Right;
MediaHeight := MediaPlayer.DisplayRect.Bottom;
if (MediaWidth <= 0) or (MediaHeight <= 0) then begin {invalid values mean not video}
MediaWidth := 0;
MediaHeight := 0;
end;
MediaPlayer.Close;
end;

end.
Ajouter un commentaire
Pseudo
Adresse email
Site internet (optionnel)
Votre commentaire
Fiche de l'article
Mise a jour13/11/2004
VisualisationVu 1854 fois
PublicInternaute zz
CategorieDelphi - Trucs et astuces - Multimedia
Auteur de l'article
P. Below P. Below
connecté le 02/11/2011
19 articles dans la section
Contacter l'auteur