【问题标题】:Use the MediaElement cause the error "The background audio resources are no longer available."使用 MediaElement 会导致错误“背景音频资源不再可用”。
【发布时间】:2014-09-30 13:13:57
【问题描述】:

在我的应用程序中,我必须使用 AudioPlaybackAgent (APA) 和 mediaelement。我用APA播放歌曲,当我需要播放视频时,我使用MediaElement

当我导航到使用 MediaElement 的页面时,我会停止 BackgroundAudioPlayer:

BackgroundAudioPlayer.Instance.Pause();

当我导航回需要播放音乐的页面时,我调用 APA 重新启动,但现在它返回异常“背景音频资源不再可用”。 :(

protected override void OnNavigatedTo(NavigationEventArgs e)
    {            
        base.OnNavigatedTo(e);

        try
        {
            if (BackgroundAudioPlayer.Instance.PlayerState != PlayState.Playing)
                BackgroundAudioPlayer.Instance.Play();                
        }
        catch
        {
             BackgroundAudioPlayer.Instance.Play();
        }
    }

我可以使用 MediaPlayerLauncher ,但是这个解决方案有很多缺点(只有全屏,缺少我的自定义控件......)。 那么有没有办法让媒体元素与 AudioPlaybackAgent 一起工作,或者任何其他方式来播放视频???

【问题讨论】:

  • 您是否确保当您停止 BackgroundAudioPlayer 时,BackgroundAudioPlayer 上的代码会在某个时间点达到NotifyComplete()? BackgroundAudioPlayer 有时可能非常棘手,我想我也遇到了这个问题。我也不认为它与页面导航有关。如果您对此评论有任何疑问,请告诉我。

标签: c# windows-phone-8 mediaelement


【解决方案1】:

发生这种情况是因为在页面之间导航时数据会丢失。您可以尝试将数据保存到 IsolatedStorage。 您可以在此问题中找到更多信息: Save values between page navigation in Windows Phone

【讨论】:

  • 我不认为因为导航时丢失的数据,我的背景音乐数据(歌曲链接)保存在独立存储中,它调用自动。但是当我关闭它以播放我的媒体元素时,我无法取回它(如果我在停用应用程序然后再次激活应用程序时关闭它,它工作正常)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多