私は MediaPlayer1 という名前の TMediaPlayer を持っており、ファイル (曲) を開いて再生します。今私の問題は、プログラムが停止するまで曲を繰り返す必要があることです。
アイデアは、フォームがアクティブになり、フォームが閉じられるまで指定された曲を繰り返すというものです。
MediaPlayer1.Filename := 'filename';
それからそれはそれを開きます
MediaPlayer1.Open;
それからそれはそれを再生します
MediaPlayer1.Play;
これで曲は再生されますが、終了したら、フォームが閉じられるまでもう一度(繰り返し)再生したいと思います。
私はDavid Heffernanが言ったことを試しましたが、うまくいきません.私は何か間違ったことをしたと思います.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, MPlayer, StdCtrls;
type
TForm1 = class(TForm)
MediaPlayer1: TMediaPlayer;
Label1: TLabel;
procedure FormActivate(Sender: TObject);
procedure MediaPlayer1Notify(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormActivate(Sender: TObject);
begin
mediaplayer1.FileName:='E:\it project\mario.mid';
mediaplayer1.Open;
mediaplayer1.AutoRewind:=true;
mediaplayer1.Play;
mediaplayer1.Notify:=true;
end;
procedure TForm1.MediaPlayer1Notify(Sender: TObject);
begin
if MediaPlayer1.NotifyValue=nvSuccessful then begin
MediaPlayer1.Play;
MediaPlayer1.Notify := True;
end;
end;
end.