Android耳机Jack Listener

时间:2012-04-02 23:46:27

标签: java android audio media-player android-audiomanager

有没有人知道如何检测设备上的耳机插孔是否在Android上拔掉?我有一个音乐播放器,我需要在拔下耳机时暂停音乐。我发现最接近的是使用AudioManager。这是正确的方向吗?

1 个答案:

答案 0 :(得分:12)

这就是我最终做的事情:

private class NoisyAudioStreamReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        if (AudioManager.ACTION_AUDIO_BECOMING_NOISY.equals(intent.getAction())) {
            pause();
        }
    }
}

private IntentFilter intentFilter = new IntentFilter(AudioManager.ACTION_AUDIO_BECOMING_NOISY);

private void startPlayback() {
    registerReceiver(myNoisyAudioStreamReceiver(), intentFilter);
}

private void stopPlayback() {
    unregisterReceiver(myNoisyAudioStreamReceiver);
}

我在此链接找到了答案:http://developer.android.com/training/managing-audio/audio-output.html