UWP绑定系统媒体传输控件到XAML媒体传输控件

时间:2016-09-04 15:56:51

标签: c# xaml uwp media

有没有办法从后台媒体播放器绑定系统媒体传输控件:

BackgroundMediaPlayer.Current.SystemMediaTransportControls

添加到xaml中的媒体传输控件:

        <MediaTransportControls Name="foregroundMediaControl" HorizontalAlignment="Left" Margin="10,504,0,0" VerticalAlignment="Top" Width="340" IsVolumeButtonVisible="False" IsVolumeEnabled="False" IsZoomButtonVisible="False" IsZoomEnabled="False" IsSeekEnabled="True" IsFullWindowEnabled="False" IsFullWindowButtonVisible="False" IsAccessKeyScope="True" IsNextTrackButtonVisible="True" IsPreviousTrackButtonVisible="True" IsTextScaleFactorEnabled="False" UseSystemFocusVisuals="False" Height="101"/>

不重复代码并为两个传输控件设置处理程序?我想用BackgroundMediaPlayer播放音乐,并且当app在前台时能够使用媒体传输控件来控制它,并且当app在后台时使用系统媒体传输控件。 希望你明白:)

1 个答案:

答案 0 :(得分:2)

  

我想使用BackgroundMediaPlayer播放音乐,并且能够在应用处于前台时使用媒体传输控件控制它,并在应用处于后台时使用系统媒体传输控件。

我想你可能会误解背景音频是什么。

对于Windows 10,1607之前的版本,您可以参考Legacy background media playback,后台播放包含两个过程:App UI和客户端逻辑(前台),后台播放任务。如您所知,后台任务通过系统介质传输控件与系统通信。在前台,它实际上还使用系统媒体传输控件来控制MediaPlayer不需要将另一个MediaElement放在前台,否则{{1 }}和MediaPlayer将在前景中一起播放相同的源。换句话说,不需要将系统媒体传输控件绑定到XAML媒体传输控件。您可以在文档中查看系统的设计方式。此时,仅支持背景音频,未实现背景视频。

从Windows 10版本1607开始,对媒体播放API进行了重大改进。现在背景是简化的单流程设计,它自动与系统媒体传输控制集成。要利用这些改进,推荐播放媒体的最佳做法是使用MeidaElement课程代替MediaPlayer进行媒体播放。因此,也不需要将系统媒体传输控件绑定到XAML媒体传输控件。在这段时间里,MediaElement支持视频。您可以参考Play audio and video with MediaPlayer