마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

Call 수신 시 벨소리와 Application 배경음 중복 재생

0 추천

이게 무슨소리죠??

전화중에 벨소리가 울린다는 말인거 같은대

TelephonyManager mTelMgr = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
 	   	mTelMgr.listen(new PhoneStateListener() {
 	             public void onCallStateChanged(int state, String incomingNumber) {
 	              switch (state) {
 	                  case TelephonyManager.CALL_STATE_IDLE:
 	                	  
 	                	  dex = 0;
 	                	  
 	                     break;
 	                     
 	                  case TelephonyManager.CALL_STATE_OFFHOOK:
 	                	  
 	                	  dex = 1;
 	                	  
 	                	 break;
 	                	 
 	                  case TelephonyManager.CALL_STATE_RINGING:
 	                	  
 	                	  dex = 1;
 	                	  
 	                      break;
 	                  
 	              } 
 	         }
 	    }, PhoneStateListener.LISTEN_CALL_STATE);

이런식으로 해서 dex ==0 일때만 MediaPlayer 가 울리게 해놨습니다 그래도 반려됩니다

뭐 어디쪽이 잘못됬따는 걸까요?

익명사용자 님이 2013년 8월 9일 질문

2개의 답변

0 추천
질문의 의도를 모르겠네요 일단 저소스를 보고 추측해 보건데. 전화가오면 우선 리시버가 있겠죠.. ? 아니면 액티비티가 열려있는 상황이거나 그도아니면 서비스가 돌아가는 상태이거나 .. 머어쨋든.. 저소스를 보자면 우선 전화가 왔을경우에 해당하는 이벤트 리스너인듯 하네요
lesky (2,140 포인트) 님이 2013년 8월 10일 답변
TelephonyManager.CALL_STATE_IDLE:

이쪽이 전화가 왔을경우 인가요?

전화대기모드 일때가 아니구요?
CALL_STATE_IDLE : 폰이 울리거나 통화중이 아닌 상태

폰이 울리고 통화를 안한경우인데 벨소리랑같이 앱배경음이 같이 나니까
반려되겠죠
0 추천
제시해 주신 코드는 본 문제와는 무관한 부분인 것으로 생각됩니다.

"벨소리와 배경음악이 중복 재생" 되는 문제가 가능한 경우라면,  다음과 같은 과정에서 발생할 것으로 판단됩니다.

step 1) 앱을 구동하여 배경음악이  play 되도록한다.

step 2) 다른 폰으로부터 테스트하는 폰으로 전화를 건다.

step 3) 테스트 폰에서  벨소리가 재생되면서, 앱의 배경음악 재생이 중단되는지 확인한다.

즉, 배경음악을 시작하는 시점의 문제가 아니라, 이미 배경음악을 시작한 이후에 전화 수신 시에 문제가 발생하는 상황으로 보입니다.

단순히 MediaPlayer를 이용하였다면, 재생 시작 이후에 특별히 Audio Focus 관련 처리를 할 필요가 없는 것으로 판단되며 테스트하는 폰 자체의 문제인지도 확인이 필요하지 않을가 생각됩니다.

그렇지 않은 경우(단순히 MediaPlayer 를 사용하는 것이 아닌 경우)라도, 위 Phone State 변경이후의 제어 부분이 문제가 없는지 확인해야 할 것 같습니다.
장미와감자 (300 포인트) 님이 2013년 8월 11일 답변
MediaPlayer를 사용했습니다.

유일하게 삼성에서 나온기종들

갤럭시3, 노트2 이상부터는 전부 그런거같습니다;;
...