[UWP]如何从MediaTransportControls类获取播放/暂停按钮单击事件 [英] [UWP]How to get Play/Pause button click event from MediaTransportControls class
问题描述
我正在使用MediaPlayerElement开发应用程序,并且我在应用程序中启用了MediaTransportControl。
播放/暂停时但是在播放媒体流时单击,它会根据其状态导致流播放或暂停。
但是,当流结束并单击播放/暂停按钮时,流重新开始播放。
我想捕获播放/暂停按钮单击事件,并在播放/暂停单击时重新启动流时在我的应用程序中执行某些操作。但是, MediaTransportControls类似乎没有提供任何事件来获取播放/暂停
按钮的点击信息。在点击播放/暂停按钮时,能否向我提供有关如何捕获事件的详细信息?
提前致谢。
问候,
p>Shikhar
要处理SMTC的按钮点击事件,您可以处理 SystemMediaTransportControls .ButtonPressed事件。当在SMTC上按下按钮
时会发生这种情况。
像这样:
async void SystemControls_ButtonPressed (SystemMediaTransportControls sender,
SystemMediaTransportControlsButtonPressedEventArgs args)
{
switch(args.Button)
{
case SystemMediaTransportControlsButton.Play:
await Dispatcher.RunAsync(Windows .UI.Core.CoreDispatcherPriority.Normal,()=>
{
mediaElement.Play();
});
休息;
case SystemMediaTransportControlsButton.Pause:
等待Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal,()=>
{
mediaElement.Pause();
});
休息;
默认值:
break;
}
}
有关如何与系统媒体传输控件集成的详细信息,请参阅以下链接:处理
系统媒体传输控制按钮按。
祝你好运
Roy
Hi,
I am developing an application using MediaPlayerElement and I have MediaTransportControls enabled in the application.
When Play/Pause but is clicked while media stream is playing, it caused the stream to play or pause based on its state.
However, when the stream has ended and Play/Pause button is clicked, the stream restarts playing.
I want to capture the Play/Pause button click event and take some actions in my application when the stream restarts on Play/Pause click. But, MediaTransportControls class doesn't seem to provide any event to get the click information of Play/Pause button. Can you please provide me details on how to capture the event when Play/Pause button is clicked?
Thanks in advance.
Regards,
Shikhar
Hi,
To handle the button click event of the SMTC, you could handle the SystemMediaTransportControls.ButtonPressed Event. It occurs when a button is pressed on the SMTC.
Like this:
async void SystemControls_ButtonPressed(SystemMediaTransportControls sender, SystemMediaTransportControlsButtonPressedEventArgs args) { switch (args.Button) { case SystemMediaTransportControlsButton.Play: await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => { mediaElement.Play(); }); break; case SystemMediaTransportControlsButton.Pause: await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => { mediaElement.Pause(); }); break; default: break; } }For more information about how to Integrate with the System Media Transport Controls, you could refer this link:Handle system media transport controls button presses.
Best regards
Roy
这篇关于[UWP]如何从MediaTransportControls类获取播放/暂停按钮单击事件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!