MediaPlayerElement全屏按钮不会隐藏导航栏

时间:2017-01-13 23:15:42

标签: uwp

我在我的XAML中添加了MediaPlayerElement,如下所示:

<MediaPlayerElement x:Name="EmbeddedPlayer" AreTransportControlsEnabled="True" HorizontalAlignment="Stretch">
     <MediaPlayerElement.TransportControls>
          <MediaTransportControls IsSkipBackwardButtonVisible="True" IsSkipBackwardEnabled="True" IsSkipForwardButtonVisible="True" IsSkipForwardEnabled="True"/>
      </MediaPlayerElement.TransportControls>
</MediaPlayerElement>

问题在于,MediaTransportControls提供的全屏按钮不会隐藏导航栏(包含后退,开始和搜索按钮的区域),而不是我想要的,就像系统“Movies&amp; ;电视“应用程序。它只隐藏状态栏!? (它适用于桌面。)

是否有一个密码可以隐藏导航栏,或者第三方应用程序是不可能的?我在Windows 10 Mobile 14393.693上的MainPage中尝试ApplicationView.TryEnterFullScreenMode,但就像上面一样,导航栏没有隐藏(只有状态栏有效)。

2 个答案:

答案 0 :(得分:0)

默认情况下,“电影和电视”应用不会隐藏导航栏。默认情况下,您看到它隐藏导航栏的原因是默认情况下播放器处于完整窗口模型。双击“电影和电视”应用程序的播放器,播放器将退出全窗口模式,栏将显示。

因此,如果你想拥有像“电影和电视”应用一样的效果,你需要设置IsFullWindowMediaPlayerElement属性,如下所示:

<MediaPlayerElement x:Name="EmbeddedPlayer" AreTransportControlsEnabled="True" HorizontalAlignment="Stretch"   IsDoubleTapEnabled="True" IsFullWindow="True" >
    <MediaPlayerElement.TransportControls>
        <MediaTransportControls />
    </MediaPlayerElement.TransportControls>
</MediaPlayerElement> 

您还可以为MediaPlayerElement定义DoubleTapped事件,双击将退出完整窗口模式。代码如下,现在它与“电影和电视”完成的效果相同。

public MainPage()
{
    this.InitializeComponent();
    EmbeddedPlayer.Source = MediaSource.CreateFromUri(new Uri("ms-appx:///Assets/New2.mp4"));
    EmbeddedPlayer.DoubleTapped += EmbeddedPlayer_DoubleTapped; 
}

private void EmbeddedPlayer_DoubleTapped(object sender, DoubleTappedRoutedEventArgs e)
{
    var view = ApplicationView.GetForCurrentView();

    if (view.IsFullScreenMode)
        view.ExitFullScreenMode();
    else
        view.TryEnterFullScreenMode();
}

答案 1 :(得分:0)

找到another problem on casting video to TV的答案后,我发现一个人不得使用推荐的MediaPlayerElement,但不能使用已弃用的MediaElement来正确隐藏导航栏。