uwp音视频app,启用后台播放控件。
启用控件
SystemMediaTransportControls systemMedia_TransportControls = SystemMediaTransportControls.GetForCurrentView(); systemMedia_TransportControls.IsPlayEnabled = true; systemMedia_TransportControls.IsPauseEnabled = true; systemMedia_TransportControls.ButtonPressed += SystemControls_ButtonPressed;
控件点击
private async void SystemControls_ButtonPressed(SystemMediaTransportControls sender, SystemMediaTransportControlsButtonPressedEventArgs args) { #region 后台控件点击事件 switch (args.Button) { case SystemMediaTransportControlsButton.Play: await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => { //main_mediaElement.AutoPlay = true; //main_mediaElement.Play(); }); break; case SystemMediaTransportControlsButton.Pause: await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => { //main_mediaElement.Pause(); }); break; case SystemMediaTransportControlsButton.Previous: await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => { //PreviousPlaySameMethod(); }); break; case SystemMediaTransportControlsButton.Next: await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => { //SameCodeMethod(); }); break; default: break; } #endregion }
控件状态
#region 后台控件状态改变 switch (main_mediaElement.CurrentState) { case MediaElementState.Playing: systemMedia_TransportControls.PlaybackStatus = MediaPlaybackStatus.Playing; break; case MediaElementState.Paused: systemMedia_TransportControls.PlaybackStatus = MediaPlaybackStatus.Paused; break; case MediaElementState.Stopped: systemMedia_TransportControls.PlaybackStatus = MediaPlaybackStatus.Paused; break; default: break; } #endregion