2014-12-30 1 views
2

미디어 플레이어를 사용하여 실시간 스트리밍을 재생하고 있습니다. 나는 그것이 효과가있어. 그러나 전화를 걸고 전화를 끊으면 오디오가 멈추고 자동으로 다시 시작됩니다.전화 수신 후 안드로이드 미디어 플레이어가 재개되지 않습니다.?

그러나 들어오는 호출을 받으면 오디오가 중지되고 다시 시작되지 않습니다.

다음 코드를 사용하여 구현했습니다. Handling Android application pause on incoming call and resume after call end. 그러나 이것은 작동하지 않습니다. 아래는 제 코드입니다. 나는 미디어 플레이어를 사용했던 것과 동일한 활동에서뿐만 아니라 다음과 같은 서비스를 사용했다.

private void callsettings() { 
    PhoneStateListener phoneStateListener = new PhoneStateListener(){ 

     @Override 
     public void onCallStateChanged(int state, String incomingNumber) { 
      // TODO Auto-generated method stub 
      super.onCallStateChanged(state, incomingNumber); 
      if (state == TelephonyManager.CALL_STATE_RINGING) { 

       mute(); 

      } else if (state == TelephonyManager.CALL_STATE_IDLE) { 


       Unmute(); 
      } else if (state == TelephonyManager.CALL_STATE_OFFHOOK) { 
       mute(); 

      } 
     } 

    }; 

    TelephonyManager mgr = (TelephonyManager) getSystemService(TELEPHONY_SERVICE); 
    if (mgr != null) { 
     mgr.listen(phoneStateListener, PhoneStateListener.LISTEN_CALL_STATE); 
    } 

} 


private void mute() { 
    am = (AudioManager) getSystemService(Context.AUDIO_SERVICE); 
    am.setStreamMute(AudioManager.STREAM_MUSIC, true); 
    //am.setStreamVolume(AudioManager.STREAM_MUSIC, 0, 0); 

} 

private void Unmute() { 
    am = (AudioManager) getSystemService(Context.AUDIO_SERVICE); 
    //am.setStreamVolume(AudioManager.STREAM_MUSIC, 5, 0); 
    am.setStreamMute(AudioManager.STREAM_MUSIC, false); 
} 

이 문제의 원인은 무엇입니까? 미리 감사드립니다.

+0

당신은 저장해야을 활동이 사용자 화면 밖으로 이동하고 저장 시간이 비디오의 마지막 상태를 복원 할 수있을 것입니다 추구하면서 비디오의 시간을 추구합니다. –

+0

빠른 설명 주셔서 감사합니다. 하지만 나는 라이브 스트리밍 오디오를 사용하고 있으며 검색 시간을 가져 오는 것이 어렵다고 생각합니다. –

+0

코드 스 니펫을 공유 할 수 있습니까? 이 상태 다이어그램이 도움이 될 것이라고 생각합니다. http://developer.android.com/reference/android/media/MediaPlayer.html –

답변

1

아마도이 문제를 해결할 수 있습니다.

오디오 관리자로 초점을 맞추어야합니다. 스트림 유형이 음성 인 requestAudioFocus가 VOICE 통화입니다. 통화가 끝나면 오디오 서비스 포커스를 다시 얻고 다시 시작할 수 있습니다.

여기보고 있습니다 http://developer.android.com/training/managing-audio/audio-focus.html

+0

OP가 관심있는 것은'OnAudioFocusChangeListener'입니다. 이것은 @Sharan의 답변에 포함되어 있습니다. – NitroNbg

관련 문제