2011-08-11 80 views
9

我的一個應用程序最近失敗了,因爲:「我的應用程序停止播放背景音樂而不詢問用戶何時播放某些音樂」。如何檢測是否有其他音頻在後臺播放? (Windows Phone 7)

現在的問題是:我們如何檢測背景中是否有音樂播放?

問候

+2

我想你錯過了「不問」條款。不要自動脫口而出,讓用戶先把手指放在上面。去Aretha!按鈕,我的意思是。 –

+0

@HansPassant通過按下我們的應用中的播放按鈕=用戶同意播放? – onmyway133

回答

7
using Microsoft.Xna.Framework.Media; 

...

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

我想過除了MediaPlayer上的一個靜態屬性,thnx :) –

6

您需要檢查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; 

} 

並使用在整個遊戲價值,以確定您是否應該播放音樂。

+0

GameHasControl始終是false :( – onmyway133

相關問題