ExoPlayer를 사용하여 노래 플레이어 앱을 개발 중입니다. 현재 문제는 Android 7.x 기기에서 사용자가 동시에 두 명의 플레이어를들을 수 있다는 것입니다. 그것은 새로운 안드로이드 버전의 것 같다.음악 플레이어 앱 - 두 명의 뮤직 플레이어가 동시에 재생하는 것을 피하십시오
이 동작을 피하는 것이 가능한지 알고 싶습니다. 사용자가 내 앱에서 미디어를 듣는 동안 두 명의 플레이어를들을 수 없도록 만들고 싶습니다.
ExoPlayer를 사용하여 노래 플레이어 앱을 개발 중입니다. 현재 문제는 Android 7.x 기기에서 사용자가 동시에 두 명의 플레이어를들을 수 있다는 것입니다. 그것은 새로운 안드로이드 버전의 것 같다.음악 플레이어 앱 - 두 명의 뮤직 플레이어가 동시에 재생하는 것을 피하십시오
이 동작을 피하는 것이 가능한지 알고 싶습니다. 사용자가 내 앱에서 미디어를 듣는 동안 두 명의 플레이어를들을 수 없도록 만들고 싶습니다.
응용 프로그램에서 오디오 포커스를 관리해야 할 수도 있습니다. 현재 모습을 가질 수 있습니다 https://developer.android.com/guide/topics/media-apps/audio-focus.html
동시에 재생하는 모든 음악 응용 프로그램을 방지하기 위해, 안드로이드는 는 오디오 사용의 아이디어를 소개합니다. 한 번에 하나의 앱에서만 오디오 포커스를 저장할 수 있습니다.
앱에서 오디오를 출력해야하는 경우 오디오 포커스를 요청해야합니다.
AudioManager mAudioManager_ = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
AudioManager.OnAudioFocusChangeListener mOnAudioFocusChangeListener_ = new AudioManager.OnAudioFocusChangeListener()
{ @Override
public void onAudioFocusChange (int focusChange)
{ switch (focusChange)
{ case AudioManager.AUDIOFOCUS_GAIN:
Log.e("DEBUG", "##### AUDIOFOCUS_GAIN");
break;
case AudioManager.AUDIOFOCUS_LOSS_TRANSIENT:
Log.e("DEBUG", "##### AUDIOFOCUS_LOSS_TRANSIENT");
break;
case AudioManager.AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK:
Log.e("DEBUG", "##### AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK");
break;
case AudioManager.AUDIOFOCUS_LOSS:
Log.e("DEBUG", "##### AUDIOFOCUS_LOSS");
break;
}
}
};
if (mAudioManager_.requestAudioFocus(mOnAudioFocusChangeListener_, AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN) == AudioManager.AUDIOFOCUS_REQUEST_GRANTED)
{ // start play
// ...
mAudioManager_.abandonAudioFocus(mOnAudioFocusChangeListener_);
}
대단히 감사합니다 :) –
죄송합니다, @ChrisNeve, 나는 당신의 대답을 이해하지 못했다. "한 가지"로, 나는 안드로이드 7.0+ 기기에서만 일어난다는 것을 의미했다. 죄송합니다. 오해 하셨다면 죄송합니다. 내가 찾는 것은 내 앱에서 미디어를 재생하는 동안 다른 앱을 일시 중지하는 방법입니다. –