SystemMediaTransportControls.ButtonPressed | buttonpressed Event

SystemMediaTransportControls 上按下按钮时发生。

语法


function onButtonPressed(eventArgs) { /* 代码 */ }
 
// addEventListener syntax
systemMediaTransportControls.addEventListener("buttonpressed", onButtonPressed);
systemMediaTransportControls.removeEventListener("buttonpressed", onButtonPressed);
 
- or -

systemMediaTransportControls.onbuttonpressed = onButtonPressed;


事件信息

委托 TypedEventHandler<SystemMediaTransportControls, SystemMediaTransportControlsButtonPressedEventArgs>

备注

注册 ButtonPressed 事件的处理程序,以便将系统传输控件按钮事件与你的应用程序集成。 此外,还必须启用各个传输按钮控件函数,如处理播放事件的 SystemMediaTransportControls.IsPlayEnabled

Button属性(在 SystemMediaTransportControlsButtonPressedEventArgs 上)指示按下了哪个按钮。

有关更多信息,请参见如何使用系统媒体传输控件

示例

下面是用于创建 ButtonPressed 事件处理程序和帮助程序方法以播放和暂停 MediaElement 的某些代码。请注意,对 PlayPause 的调用通过 CoreDispatcher 封送到 UI 线程(使用 Dispatcher.RunAsync)。


void SystemControls_ButtonPressed(SystemMediaTransportControls sender, 
    SystemMediaTransportControlsButtonPressedEventArgs args)
{
    switch (args.Button)
    {
        case SystemMediaTransportControlsButton.Play:
            PlayMedia();
            break;
        case SystemMediaTransportControlsButton.Pause:
            PauseMedia();
            break;
        default:
            break;
    }
}

async void PlayMedia()
{
    await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
    {
        musicPlayer.Play();
    });
}

async void PauseMedia()
{
    await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
    {
        musicPlayer.Pause();
    });
}


下面是处理 CurrentStateChanged 事件处理程序和更新 SystemMediaTransportControls 状态的代码。


void MusicPlayer_CurrentStateChanged(object sender, RoutedEventArgs e)
{
    switch (musicPlayer.CurrentState)
    {
        case MediaElementState.Playing:
            systemControls.PlaybackStatus = MediaPlaybackStatus.Playing;
            break;
        case MediaElementState.Paused:
            systemControls.PlaybackStatus = MediaPlaybackStatus.Paused;
            break;
        case MediaElementState.Stopped:
            systemControls.PlaybackStatus = MediaPlaybackStatus.Stopped;
            break;
        case MediaElementState.Closed:
            systemControls.PlaybackStatus = MediaPlaybackStatus.Closed;
            break;
        default:
            break;
    }
}


要求

最低支持客户端

Windows 8.1

最低支持服务器

Windows Server 2012 R2

命名空间

Windows.Media
Windows::Media [C++]

元数据

Windows.winmd

另请参见

SystemMediaTransportControls

 

 

显示:
© 2015 Microsoft