如何为媒体播放器组件启用自动播放?

Posted

技术标签:

【中文标题】如何为媒体播放器组件启用自动播放?【英文标题】:How do I enable autoplay for the media player component? 【发布时间】:2021-10-29 08:43:47 【问题描述】:

我正在尝试为媒体播放器组件启用自动播放。就像,当有人打开我的程序时,一个视频显示为介绍,然后在几秒钟后自动关闭,然后下一个表单出现,而包含媒体播放器的第一个表单自动关闭!

我使用的是 Delphi 10.4!

【问题讨论】:

您基本上是在询问如何使用events(Delphi 中的一个关键元素),尤其是TForm.OnShow 和TMediaPlayer.OnNotify。 @AmigoJack 你能教我怎么做吗?我是初学者!我正在努力学习,请帮助! Stack Overflow is not for teaching basics。在您的情况下,您还没有概述到目前为止您尝试了什么以及您失败的地方 - 如果您希望所有工作都由其他人完成(这就是您的 Q 所暗示的)期望不会得到任何 A。 @RemyLebeau 我不太明白你能解释一下吗?谢谢! 【参考方案1】:

在表单的OnShow 事件中,启动playing 媒体(有关详细信息,请参阅Adding Audio or Video Clips to an Application),确保在媒体播放器上指定Notify=true

然后,在媒体播放器的OnNotify 事件中,Close() 表单,在表单的OnClose 事件中,您可以Show() 下一个表单。

例如:

procedure TForm1.FormShow(Sender: TObject);
begin
  MediaPlayer1.FileName := ...;
  MediaPlayer1.Open;
  MediaPlayer1.Notify := True;
  MediaPlayer1.Play;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Form2.Show;
end;

procedure TForm1.MediaPlayer1Notify(Sender: TObject);
begin
  Close;
end;

请注意,如果您将 TMediaPlayer 放在您的 MainForm 上,然后将 Close() 放在该表单上,您的应用将退出。因此,要么将TMediaPlayer 放在非MainForm 表单上,并在显示MainForm 之前显示它,或者将Hide() MainForm(并使用OnHide 事件)而不是Close()它。

【讨论】:

它运行没有错误,但视频没有播放!请帮忙! @Franklin 玩过TMediaPlayer吗? @Franklin 你读过文档吗?见Adding Audio or Video Clips to an Application 和Example of Adding Audio or Video Clips (VCL_Only) @RemyLebeau 这是我第一次使用 tmediaplayer 先生!我们可以在 discord 或 skype 上交谈,以便我可以共享我的屏幕并向您展示我的 delphi 程序吗?我真的需要这个组件的帮助,请尽快! @RemyLebeau 并没有发挥 idk 怎么办!

以上是关于如何为媒体播放器组件启用自动播放?的主要内容,如果未能解决你的问题,请参考以下文章

如何为视频播放器选择文件

在嵌入式 YouTube 播放器中自动播放下一个视频

利用jQuery实现h5播放器播放组件

利用jQuery实现h5播放器播放组件

HTML5 视频播放器显示以在浏览器中启用 Flash。如何在不启用 Flash 的情况下播放流视频?

Vue3视频播放器组件Vue3-video-play入门教程