AVI 동영상 파일을 재생해서 보는 거 test하고 있는데요..
책에서 이렇게하면 된다구해서 해봤는데..계속 '현재 연주 불가능'이 나오네요..
초보라서..어떻게 해야하는지 잘 모르겠어요..
제가 어디가 잘못된건지 가르쳐주세요..
Panel을 통해 보여질 수는 있는건지...답답..
unit untMediaPlayer;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls , StdCtrls, MPlayer,MMSystem ,Buttons, ComCtrls;
type
TForm1 = class(TForm)
MediaPlayer1: TMediaPlayer;
Panel1: TPanel;
Label1: TLabel;
Timer1: TTimer;
Label2: TLabel;
procedure MediaPlayer1Click(Sender: TObject; Button: TMPBtnType;
var DoDefault: Boolean);
procedure MediaPlayer1Notify(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.MediaPlayer1Click(Sender: TObject; Button: TMPBtnType;
var DoDefault: Boolean);
begin
case Button of
btPlay : Label1.caption := 'Play' ;
btStop : Label1.Caption := 'Stop';
btPause : Label1.Caption := 'Pause' ;
end ;
end;
procedure TForm1.MediaPlayer1Notify(Sender: TObject);
begin
if (MediaPlayer1.NotifyValue = nvSuccessful) and (MediaPlayer1.Mode = mpStopped) then
Label1.Caption := 'Play가 완료되었습니다.' ;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
try
MediaPlayer1.DeviceType := dtAVIVideo ;
MediaPlayer1.FileName := 'a.avi';
MediaPlayer1.Open ;
MediaPlayer1.Display := Panel1 ;
except
Showmessage('파일을 찾을수가 없습니다.') ;
end ;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
case MediaPlayer1.Mode of
mpNotReady : Label2.Caption := ' 연주 준비가 안됨' ;
mpStopped : Label2.Caption := '멈춤' ;
mpPlaying : Label2.Caption := '연주중' ;
mpPaused : Label2.Caption := '잠깐 멈춤' ;
mpOpen : Label2.Caption := '연주 준비됨' ;
else
Label2.Caption := '현재 연주 불가능 ' ;
end ;
end;
end.
먼저 a.avi란 파일이 존재하는가 보세요...
그냥 파일명만 대입하시면 못찾을 수도 있으니까 풀패스를 넣어주세요...
혹시 모르니까 Open하고 Display한번 바꾸어보세요..
MediaPlayer1.FileName := 'C:a.avi';
MediaPlayer1.Display := Panel1 ;
MediaPlayer1.Open ;
^^ 항상 즐코하세요...