2011-08-11 5 views
9

「私のアプリは音楽を再生したいときに、ユーザーに尋ねずにバックグラウンドミュージックを停止します。他のオーディオがバックグラウンドで再生されているかどうかを検出する方法は? (Windows Phone 7)

ここで問題は:どのようにバックグラウンドで再生されている音楽があるかどうかを検出できますか?あなたはMediaPlayer.GameHasControlプロパティを確認する必要が

よろしく

+2

「質問しない」という句がないと思います。 Arethaを自動的にぼかしてはいけません。ユーザーが最初に指を置くようにしてください。 Go Aretha!ボタン、私は意味した。 –

+0

@HansPassant私たちのアプリで再生ボタンを押すことで=ユーザーは再生に同意しますか? – onmyway133

答えて

7
using Microsoft.Xna.Framework.Media; 

...

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

私はMediaPlayerの静的プロパティを除いて、すべてについて考えました:) –

6

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

MediaPlayer.Stateは、あなたが音楽を演奏している場合でも演奏されます。 GameHasControlは、音楽があなたのアプリから起動されたかどうか、またはあなたのアプリが起動する前に別のアプリが再生されていたかどうかを判断します。

あなたは

protected override void OnActivated(object sender, EventArgs args) 
{ 
    base.OnActivated(sender, args); 


    // cache music and trial mode values 
    Globals.GameHasMusicControl = MediaPlayer.GameHasControl; 

} 

そして、あなたが音楽を再生すべきか否かを決定するためにあなたのゲーム全体でその値を使用し... OnActivatedで値を得ることができます。

+0

GameHasControlは常にfalseです:( – onmyway133

関連する問題