如何为媒体播放器组件启用自动播放?
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 怎么办!以上是关于如何为媒体播放器组件启用自动播放?的主要内容,如果未能解决你的问题,请参考以下文章