基本信息
源码名称:Delphi12FMX判断MediaPlayer1播放结束.rar
源码大小:42.26M
文件格式:.rar
开发语言:Pascal
更新时间:2024-10-04
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 10 元 
   源码介绍
Delphi12FMX判断MediaPlayer1播放结束.rar

//QQ:598594132
unit Unit6;

interface

uses
     System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
     FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
     FMX.Controls.Presentation, FMX.StdCtrls, FMX.Media, FMX.Layouts;
type
  TForm6 = class(TForm)
    MediaPlayer1: TMediaPlayer;
    MediaPlayerControl1: TMediaPlayerControl;
    Button1: TButton;
    Label1: TLabel;
    Timer1: TTimer;
    Layout1: TLayout;
    Layout2: TLayout;
    Layout3: TLayout;
    Button2: TButton;
    Button3: TButton;
    TrackBar1: TTrackBar;
    TrackBar2: TTrackBar;
    Label2: TLabel;
    Layout4: TLayout;
    Label3: TLabel;
    Button4: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure Button4Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form6: TForm6;

implementation
 uses
    System.IOUtils;//需要引入

{$R *.fmx}
 {$R *.NmXhdpiPh.fmx ANDROID}

procedure TForm6.Button1Click(Sender: TObject);
begin
//MediaPlayer1.FileName:='http://www.htsoft.com.cn/soft/mp3/shengzi/中.mp3';
//MediaPlayer1.Play;
//MediaPlayerControl1.is

 MediaPlayer1.Stop;
   Timer1.Enabled := false;
   Button2.Enabled := true;
   Button1.Enabled := false;

end;

procedure TForm6.Button2Click(Sender: TObject);
begin
// MediaPlayer1.FileName := TPath.GetDocumentsPath   '/abc.mp3';//指定要打开的文件当然,指定 SD 卡中其它目录是文件也是可以的。
 MediaPlayer1.FileName:='http://www.htsoft.com.cn/soft/mp3/shengzi/中.mp3';
 MediaPlayer1.CurrentTime := trunc((TrackBar1.Value * MediaPlayer1.Duration) / 100);// 播放进度调整为进度条指示位置
 MediaPlayer1.Volume := TrackBar2.Value;//音量也调整到音量指示值
 MediaPlayer1.Play;//播放

    Timer1.Enabled := true;
    Button2.Enabled := false;
    Button1.Enabled := true;
end;

procedure TForm6.Button3Click(Sender: TObject);
begin
  MediaPlayer1.FileName := IncludeTrailingPathDelimiter(TPath.GetDocumentsPath)   'abc.mp4';//指定要播放的视频文件
    MediaPlayer1.Play;
    Timer1.Enabled := true;
end;

procedure TForm6.Button4Click(Sender: TObject);
begin
MediaPlayer1.FileName:='http://www.htsoft.com.cn/soft/mp3/shengzi/中.mp3';
MediaPlayer1.Play;
end;

procedure TForm6.FormCreate(Sender: TObject);
begin
   MediaPlayerControl1.MediaPlayer := MediaPlayer1;
end;

procedure TForm6.Timer1Timer(Sender: TObject);
var
    handler: TNotifyEvent;
  begin
    handler := TrackBar1.OnChange;
    TrackBar1.OnChange := nil;//暂时取消其 OnChange 事件
    TrackBar1.Value := int((MediaPlayer1.CurrentTime / MediaPlayer1.Duration) * 100);
   //更新进度条的指示
    Label2.Text := inttostr(trunc(MediaPlayer1.CurrentTime / 60000))   ':'  
    inttostr(trunc(MediaPlayer1.CurrentTime / 1000 -
    trunc(MediaPlayer1.CurrentTime / 60000) * 60));
    //显示声音文件所剩下的播放时间,分:秒
    Label3.Text := inttostr(trunc(MediaPlayer1.Duration / 60000))   ':'  
    inttostr(trunc(MediaPlayer1.Duration / 1000 - trunc(MediaPlayer1.Duration /
    60000) * 60));//显示声音文件总的播放时间,分:秒
    TrackBar1.OnChange := handler; //还原其 OnChange 事件
    //播放完毕后的处理

  exit;

   if MediaPlayer1.CurrentTime >= MediaPlayer1.Duration - 1000 then//如果播放完了
   begin
     MediaPlayer1.Stop;
     TrackBar1.Value:=0;
     Button2.Enabled := true;
     Button1.Enabled := false;
     Timer1.Enabled := false;
   end;
end;

end.