MediaplayerとTimerを使って動画ファイルを流すには?

解決


もりぽん  2008-11-10 07:04:59  No: 32539

MediaPlayerでvideo1から5までの動画を順番に流すプログラムを作っています
これだと映像の冒頭部だけ流れていくのみで、1の最後まで流れてから2の動画へ、という風に流れません
過去ログも見てみましたが似たような質問はなかったようなので質問させていただきました。ご教授お願いいたします
以下コードです

procedure TForm1.Button1Click(Sender: TObject);
begin
Timer1.Enabled:=True;
video1:=video1+1;
if video1=6 then
Timer1.Enabled:=False;
MediaPlayer1.FileName := ExtractFilePath(application.ExeName)+'video'+IntToStr(video1)+'.wmv';
MediaPlayer1.Open;
MediaPlayer1.Play;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
video1:=video1+1;
if video1=6 then
Timer1.Enabled:=False;
end;


さっぱり  2008-11-10 07:33:52  No: 32540

変数の宣言部がないからさっぱりわからん。
Video1って何?integer?

それと
http://cult-drang.com/program/tips/windowsmediaplayer_length.html
この辺で解決できそうな気がするけど?


KHE00221  2008-11-10 14:31:19  No: 32541

たぶんこれでいけるはず

var
   Video: Integer;

procedure TForm1.Button1Click(Sender: TObject);
begin
    MediaPlayer1.FileName := ExtractFilePath(application.ExeName)+'video'+IntToStr(video1)+'.wmv';
    MediaPlayer1.Open;
    MediaPlayer1.Notify := True;
    MediaPlayer1.Play;
end;

procedure TForm1.MediaPlayer1Notify(Sender: TObject);
begin
    if (MediaPlayer1.DeviceID <> 0) and (Video < 6) then
    begin
      MediaPlayer1.FileName := ExtractFilePath(application.ExeName)+'video'+IntToStr(video1)+'.wmv';
      MediaPlayer1.Open;
      MediaPlayer1.Play;
      Inc(Video);
    end;
end;


質問者  2008-11-11 04:07:55  No: 32542

>さっぱり様
説明不足で申し訳ありませんでした。video1はIntegerでした
URL参考にさせていただきました。ご回答どうもありがとうございました

>KHE00221様
おかげ様で解決しました。ご回答どうもありがとうございました


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加