如何检测音乐按钮上的点击



我的应用程序中有这样的按钮。按钮

我想知道如何检测点击它

您发布的图像中的按钮来自SystemMediaTransportControls类。您似乎正在从应用程序中播放媒体。如果你想在你发布的图片中检测按钮点击事件。您必须在应用程序中获取当前SystemMediaTransportControls对象并处理其按钮按下事件。

像这样:

mediaPlayer = new MediaPlayer();
mediaPlayer.Source = MediaSource.CreateFromUri(new Uri("ms-appx:///Assets/video.mp4"));
mediaPlayer.Play();
_systemMediaTransportControls = mediaPlayer.SystemMediaTransportControls;
_systemMediaTransportControls.IsPlayEnabled = true;
_systemMediaTransportControls.IsPauseEnabled = true;
_systemMediaTransportControls.ButtonPressed += _systemMediaTransportControls_ButtonPressed;

private async void _systemMediaTransportControls_ButtonPressed(SystemMediaTransportControls sender, SystemMediaTransportControlsButtonPressedEventArgs args)
{
switch (args.Button)
{
case SystemMediaTransportControlsButton.Play:
await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
{
MyTextBlock.Text = "Play";
mediaPlayer.Play();
});
break;
case SystemMediaTransportControlsButton.Pause:
await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
{
MyTextBlock.Text = "Pause";
mediaPlayer.Pause();
});
break;
case SystemMediaTransportControlsButton.Next:
await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
{
MyTextBlock.Text = "Next";
});
break;
case SystemMediaTransportControlsButton.Previous:
await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
{
MyTextBlock.Text = "Previous";
});
break;
default:
break;
}
}

如果您使用MediaElement来播放媒体,则需要使用另一种方法来获得SystemMediaTransportControls,如下所示:

_systemMediaTransportControls = SystemMediaTransportControls.GetForCurrentView();

有关更多信息,请查看:系统介质传输控制的手动控制

最新更新