[UWP]如何从MediaTransportControls类获取播放/暂停按钮单击事件 [英] [UWP]How to get Play/Pause button click event from MediaTransportControls class

查看:364
本文介绍了[UWP]如何从MediaTransportControls类获取播放/暂停按钮单击事件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


我正在使用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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆