【问题标题】:Using MediaElement in Windows Phone 8.1 app在 Windows Phone 8.1 应用程序中使用 MediaElement
【发布时间】:2014-09-08 02:11:38
【问题描述】:

我正在开发一个使用 MediaElement 控件播放视频的 Windows Phone 8.1 应用。我面临着一些我无法找到相关信息的问题。我在这里上传了一个示例应用程序:https://mega.co.nz/#!s9sFiQDK!JDI9ar8qWqWIZ_Ot-Q8K8X0qfQ5YG7ATLAiHypOs5Ow

  1. 如果单击默认页面中的按钮,应用程序将导航到包含 MediaElement 的第二个页面以播放视频。我的应用程序仅配置为 Portrait,但我希望视频显示在 Landscape 中。为此,我在单击按钮时更改屏幕方向,然后使用以下行导航到视频页面:Windows.Graphics.Display.DisplayInformation.AutoRotationPreferences = Windows.Graphics.Display.DisplayOrientations.Landscape; 问题在于,当方向发生变化时,我可以在应用程序中看到它看起来很丑。如何在无需更改屏幕方向的情况下使视频显示为横向?我在 Facebook 应用程序中看到,当视频打开时,该应用程序确实导航到另一个页面(或者至少从我看到的过渡动画中看起来是这样),但即使视频以横向打开和播放,也没有屏幕旋转。

  2. 我想在显示视频页面之前隐藏状态栏。我已经把这条线statusBar.HideAsync(); 放在不同的地方,但无论如何,当视频已经可见并正在播放时,我总是看到状态栏仍然隐藏。同样,Facebook 应用确实会在视频显示在屏幕上之前隐藏状态栏。

  3. 在播放视频时,如果我按住返回硬件按钮,应用程序将被最小化。现在,如果我点击它的屏幕截图返回它,应用程序会进入前台,但视频不再播放。如果我点击视频以查看视频控件,我可以看到视频进度线正在移动,但视频就像冻结一样。如果我暂停视频并再次播放,视频会继续播放。当应用程序进入前台时,如何使视频继续播放?在我执行此操作时,在 Facebook 应用程序中,该应用程序进入前台,但视频页面已关闭,该应用程序将我带到时间线页面。这是唯一的方法吗?如果是这样,我如何检测到当应用程序进入前台时正在播放视频,以便我可以关闭页面并导航到上一个页面。

【问题讨论】:

    标签: windows-phone windows-phone-8.1 screen-orientation mediaelement


    【解决方案1】:
    1. 如果您总是希望视频页面处于横向模式,您可以调用 Windows.Graphics.Display.DisplayInformation.AutoRotationPreferences = Windows.Graphics.Display.DisplayOrientations.Landscape; 在页面构造函数中,在 InitializeComponent();

    2. 之后
    3. 通话 StatusBar.GetForCurrentView().HideAsync(); 在主页构造函数中对我来说工作正常。

    4. 我仍然有同样的问题,我尝试了不同的方法,但我什至无法获得 App.Resuming 事件(不幸的是,在 Windows Phone 8.1 中,WinRT OnNavigatedTo 不会在应用程序恢复时触发)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-07
      • 1970-01-01
      • 1970-01-01
      • 2015-02-25
      • 2015-03-26
      • 1970-01-01
      相关资源
      最近更新 更多