gpt4 book ai didi

c# - Windows Phone 8 - 2 背景音频冲突并且两个应用程序都终止

转载 作者:行者123 更新时间:2023-11-30 14:57:19 25 4
gpt4 key购买 nike

大约一周前,我为 Windows Phone 商店提交了一个在线背景广播流媒体应用程序。该应用程序非常好(因为我使用模拟器对其进行了测试,它在所有可能的领域都很好)但是当我提交它进行认证时,它失败了。

根据错误日志,如果有人已经在播放来自音乐 + 视频中心的音乐,然后尝试打开此应用,则这两个应用都会崩溃并意外停止。

到目前为止我明白了,这是因为 Music of Music + Video hub 也是背景音乐,同时播放 2 首背景音乐,应用程序崩溃了。这可能是其他原因,但我认为所描述的原因更合乎逻辑。

那么,有没有人可以告诉我如何更改音乐 + 视频中心应用程序的状态?我想暂时暂停或停止 Music + Video hub 的应用程序,以便应用程序的两个状态不相同。这样,应用程序就不会在后台相互冲突。

谁能在这方面帮助我?

最佳答案

使用 gameHasControl 检查其他使用音乐的 BAP:

bool gameHasControl = Microsoft.Xna.Framework.Media.MediaPlayer.GameHasControl;
if (!gameHasControl)
{
MessageBox.Show("stopping other player"); // normally you should ask if to do that
BackgroundAudioPlayer.Instance.Stop();
}

一旦停止,当您启动您的 BAP 时,旧实例将调用 Shutdown(),您的 BAP 将成为您可以正常使用的新实例。当您的 BAP 在内存中并且您开始从 Music+Video Hub 播放时也是如此。

请注意,因为当您使用 XNA 时,您有时需要做:

FrameworkDispatcher.Update();

否则你的应用有时会崩溃。祝你好运。

编辑 - 评论后

要使其正常工作,您需要添加对 Microsoft.Phone.BackgroundAudio 的引用或像这样使用:

Microsoft.Phone.BackgroundAudio.BackgroundAudioPlayer.Instance.Stop();

BackgroundAudioPlayer 是一个 Singleton,您可以使用它 - 在这种情况下 - 停止播放(当然将选择权交给用户)。

关于c# - Windows Phone 8 - 2 背景音频冲突并且两个应用程序都终止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20958068/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com