如何轻松隐藏UWP MediaPlayerElement中的所有传输控件(少数几个除外)?

时间:2019-05-22 09:31:01

标签: c# uwp controls media-player uwp-xaml

我有一个MediaPlayerElement可以自动播放视频,我希望用户只能在视频中搜索并按暂停/停止/播放。

似乎我必须将AreTransportControlsEnabled设置为true,然后隐藏所有我不需要的控件,因为默认情况下所有控件都是可见的。

所以我做到了:

<MediaPlayerElement x:Name="mediaPlayer" AreTransportControlsEnabled="True">
            <MediaPlayerElement.TransportControls>
                <MediaTransportControls
                    ShowAndHideAutomatically="True"
                    IsFullWindowButtonVisible="False"
                    IsNextTrackButtonVisible="False"
                    IsPreviousTrackButtonVisible="False"
                    IsVolumeButtonVisible="False"
                    IsZoomButtonVisible="False"
                    IsFastForwardButtonVisible="False"
                    IsFastRewindButtonVisible="False"
                    IsPlaybackRateButtonVisible="False"
                    IsRepeatButtonVisible="False"
                    IsSkipBackwardButtonVisible="False"
                    IsSkipForwardButtonVisible="False"
                    Windows10version1803:IsCompactOverlayButtonVisible="False"
                    IsSeekBarVisible="True"
                    IsSeekEnabled="True"
                    IsStopButtonVisible="True"
                    />
            </MediaPlayerElement.TransportControls>
        </MediaPlayerElement>

按照我的口味,这看起来真的很麻烦。没有像“ hideall = true”这样的设置,然后我只能启用我想要的那些设置。例如,似乎没有办法也隐藏“ cast to device”按钮,因此使用当前方法,用户总是会看到此按钮,而我并不是很喜欢: Example with 'cast to device' button visible

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您可以通过将AreTransportControlsEnabled设置为false,并使用MediaPlayer上的Play和Pause方法来创建自己的媒体传输控件。

有关更多信息和示例,请参见Create custom transport controls

Media transport controls sample官方将是一个好的开始。

例如,在官方示例中,如果您不想显示“投射到设备”按钮,则可以直接在generic.xaml中删除名为CastButton的AppBarButton