如何检测另一个音频是否在后台播放? (Windows Phone 7)
我的一个应用程序最近未通过认证,因为:“我的应用程序停止播放背景音乐而不询问用户何时播放某些音乐”。
现在的问题是:我们如何检测背景中是否有音乐播放?
问候
using Microsoft.Xna.Framework.Media;
…
if (Microsoft.Xna.Framework.Media.MediaPlayer.State == MediaState.Playing) { .... }
您需要检查MediaPlayer.GameHasControl属性。
即使您正在播放音乐,MediaPlayer.State也将播放。 GameHasControl确定音乐是从您的应用程序启动,还是在您的应用程序启动之前是否正在播放其他应用程序。
你可以在OnActivated中获得价值……
protected override void OnActivated(object sender, EventArgs args) { base.OnActivated(sender, args); // cache music and trial mode values Globals.GameHasMusicControl = MediaPlayer.GameHasControl; }
并在整个游戏中使用该值来确定您是否应该播放音乐。