외부에서 오디오가 재생되었을 때 어떻게 하면 알 수 있나요?
아래와 같이 코드를 구현해 봤는데 이벤트가 발생하지 않은것 같더라고요.
아래 코드는 외부에서 재생되는 오디오와는 관련이 없는건지...
도움말씀좀 부탁드립니다.퇴근하고싶어요......
private void initAudioManager() {
audioManager = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE);
int streamTypes = AudioManager.STREAM_ALARM
| AudioManager.STREAM_DTMF
| AudioManager.STREAM_MUSIC
| AudioManager.STREAM_NOTIFICATION
| AudioManager.STREAM_SYSTEM
| AudioManager.STREAM_VOICE_CALL;
int result = audioManager.requestAudioFocus(audioClient, streamTypes, AudioManager.AUDIOFOCUS_GAIN);
Toast.makeText(context, String.valueOf(result), Toast.LENGTH_SHORT).show();
}
private OnAudioFocusChangeListener audioFocusListener = new OnAudioFocusChangeListener() {
@Override
public void onAudioFocusChange(int focusChange) {
Toast.makeText(context, String.valueOf(focusChange), Toast.LENGTH_SHORT);
switch(focusChange) {
case AudioManager.AUDIOFOCUS_LOSS:
break;
case AudioManager.AUDIOFOCUS_LOSS_TRANSIENT:
break;
case AudioManager.AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK:
break;
case AudioManager.AUDIOFOCUS_GAIN:
break;
default:
break;
}
}
};




audioManager.isMusicActive() 로 처리했습니다.