Windows Phone 8 – 2背景音频冲突和两个应用程序终止

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

根据错误日志,如果有人已经从音乐+video中心播放音乐,然后尝试打开此应用程序,则两个应用程序都会崩溃并意外停止。

到目前为止,据我所知,这是因为音乐音乐+video中心也是背景音乐,同时播放2个背景音乐,应用程序正在崩溃。 这可能是其他一些原因,但所描述的似乎对我更合乎逻辑。

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

在这方面有人可以帮助我吗?

使用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 – 在这种情况下 – 停止播放(当然给用户选择)。

Interesting Posts