2011-08-11 2 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의 정적 속성을 제외한 모든 것을 생각했습니다 :) –

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