전화가 울릴 때 미디어 플레이어를 일시 중지하려고합니다. 안드로이드 사이트의 샘플 코드를 사용합니다. 그것은 이것과 같습니다. 전화 링 AUDIOFOCUS_LOSS_TRANSIENT 보낼android에서 전화를 건 후에 AUDIOFOCUS_LOSS이 (가)
public void onAudioFocusChange(int focusChange) {
switch (focusChange) {
case AudioManager.AUDIOFOCUS_GAIN:
// resume playback
if (mMediaPlayer != null && !mMediaPlayer.isPlaying()) {
mMediaPlayer.start();
mMediaPlayer.setVolume(1.0f, 1.0f);
}
break;
case AudioManager.AUDIOFOCUS_LOSS:
// Lost focus for an unbounded amount of time: stop playback and
// release media player
stopMediaPlayer();
break;
case AudioManager.AUDIOFOCUS_LOSS_TRANSIENT:
// Lost focus for a short time, but we have to stop
// playback. We don't release the media player because playback
// is likely to resume
if (mMediaPlayer.isPlaying())
mMediaPlayer.pause();
break;
case AudioManager.AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK:
// Lost focus for a short time, but it's ok to keep playing
// at an attenuated level
if (mMediaPlayer.isPlaying())
mMediaPlayer.setVolume(0.1f, 0.1f);
break;
}
}
; 괜찮습니다. 통화가 끝나면 AUDIOFOCUS_GAIN이 전송되고 플레이어는 계속 재생됩니다. 그것은 또한 OK입니다. 하지만 AUDIOFOCUS_GAIN을 보낸 직후에는 AUDIOFOCUS_LOSS가 전송됩니다. 오디오 포커스를 잃어 버리는 이유가 무엇입니까? 미리 Thx.
가끔씩 같은 것을 보았 기 때문에이 질문에 현상금을 추가했습니다. 또는 AUDIOFOCUS_GAIN => AUDIOFOCUS_LOSS => AUDIOFOCUS_GAIN => AUDIOFOCUS_LOSS => AUDIOFOCUS_GAIN => AUDIOFOCUS_LOSS => ... 등등을 반복하십시오. – StackOverflowed
어떤 장치를 사용합니까 (에뮬레이터로 테스트)? Google 음악 있나요? 다른 뮤직 플레이어 (예 : Google 뮤직)와 호환되는지 확인할 수 있나요? logcat을 추가하십시오. 거기에 흥미로운 것들이있을 수 있습니다. 포커스를 종료하고 "훔치는"통화를 수신하는 다른 (오래된) 뮤직 앱이있을 수 있습니까? –
나는 또한 같은 문제가있다 : 나의 장치는 갤럭시 노트 N7000 - 안드로이드 4.0.3이다. 또 하나 더 : AUDIOFOCUS_LOSS가 실행 된 후, 청취자는 결코 다시 호출되지 않습니다! – hungson175