【问题标题】:How to detect if another audio is playing in background? (Windows Phone 7)如何检测是否在后台播放另一个音频? (Windows 电话 7)
【发布时间】:2011-08-11 23:44:19
【问题描述】:

我的一个应用最近未能通过认证,因为:“我的应用停止了背景音乐,而没有询问用户何时想要播放一些音乐”。

现在的问题是:我们如何检测背景中是否有音乐在播放?

问候

【问题讨论】:

  • 我认为你错过了“不问”条款。不要自动脱口而出 Aretha,让用户先把手指放在上面。去艾瑞莎!按钮,我的意思是。
  • @HansPassant 按下我们应用程序中的“播放”按钮 = 用户同意播放?

标签: c# .net windows-phone-7 media-player


【解决方案1】:
  using Microsoft.Xna.Framework.Media;

...

    if (Microsoft.Xna.Framework.Media.MediaPlayer.State == MediaState.Playing)
    {
          ....
    }

【讨论】:

  • 除了 MediaPlayer 上的静态属性之外,我想到了一切,thnx :)
【解决方案2】:

您需要检查 MediaPlayer.GameHasControl 属性。

http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.media.mediaplayer.gamehascontrol.aspx

即使您正在播放音乐,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;

}

并在整个游戏中使用该值来确定是否应该播放音乐。

【讨论】:

  • GameHasControl 总是假的 :(
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-06
  • 1970-01-01
  • 1970-01-01
  • 2014-04-22
相关资源
最近更新 更多