0

我有一个用于播放音频的 UWP 桌面应用程序。我正在使用 MediaPlayerElement 并将 MediaPlayer 的 Source 属性设置为 MediaPlaybackList。我有两个问题:

  1. 如何知道用户何时按下某个 MediaPlayerElement 按钮(播放、暂停、下一曲目等)?

  2. 如何以编程方式更改跑步轨迹?

             <MediaPlayerElement x:Name="mediaPlayerElement" 
                                 AutoPlay="False" 
                                 HorizontalAlignment="Center" VerticalAlignment="Top"
                                 Margin="0,0,0,100"
                                 AreTransportControlsEnabled="True" >
                                 <MediaPlayerElement.TransportControls>
                                     <MediaTransportControls 
                                              IsSkipBackwardEnabled="False"
                                              IsSkipBackwardButtonVisible="False"
                                              IsSkipForwardEnabled="False"
                                              IsSkipForwardButtonVisible="False"
                                              IsFastForwardButtonVisible="True"
                                              IsFastForwardEnabled="True"
                                              IsFastRewindButtonVisible="True"
                                              IsFastRewindEnabled="True" 
                                             IsFullWindowButtonVisible="False"
                                             IsNextTrackButtonVisible="True"
                                             IsPreviousTrackButtonVisible="True"
                                             IsZoomButtonVisible="False"/>
                                 </MediaPlayerElement.TransportControls>
                             </MediaPlayerElement>
    
     MediaPlaybackList mediaPlaybackList = new MediaPlaybackList();
    
     public PlayerPage()
     {
         this.InitializeComponent();
    
         CreatePlaylist();
    
         mediaPlayerElement.MediaPlayer.Source = mediaPlaybackList;
     }
    
4

1 回答 1

0

如何知道用户何时按下某个 MediaPlayerElement 按钮(播放、暂停、下一曲目等)?

请参阅此处的案例回复。并听SystemMediaTransportControls ButtonPressed事件,然后你可以按下下一个或上一个。

mediaPlayerElement.MediaPlayer.SystemMediaTransportControls.ButtonPressed += SystemMediaTransportControls_ButtonPressed;

private void SystemMediaTransportControls_ButtonPressed(SystemMediaTransportControls sender, SystemMediaTransportControlsButtonPressedEventArgs args)
{
    switch (args.Button)
    {
        case SystemMediaTransportControlsButton.Play:
            break;
        case SystemMediaTransportControlsButton.Pause:
            break;
        case SystemMediaTransportControlsButton.Stop:
            break;
        case SystemMediaTransportControlsButton.Record:
            break;
        case SystemMediaTransportControlsButton.FastForward:
            break;
        case SystemMediaTransportControlsButton.Rewind:
            break;
        case SystemMediaTransportControlsButton.Next:
            break;
        case SystemMediaTransportControlsButton.Previous:
            break;
        case SystemMediaTransportControlsButton.ChannelUp:
            break;
        case SystemMediaTransportControlsButton.ChannelDown:
            break;
        default:
            break;
    }
}

如何以编程方式更改跑步轨迹

什么是跑道,你的意思是打顺序吗?MediaPlaybackList 具有 ShuffleEnabled 属性。您可以将其设置为 true 以播放随机播放。

于 2021-09-02T07:29:33.533 回答