插入耳机后如何降低MediaPlayer音量?

时间:2012-04-21 12:00:35

标签: android media-player volume android-audiomanager headphones

定位Android 2.2。

我需要在收听媒体时检查用户是否使用扬声器或耳机。到目前为止,我发现的最好的是isWiredHeadsetOn方法。太糟糕了,它已经被弃用了。有没有更好的方法来了解耳机是否插入?

真正的问题是:如何在插入耳机时降低MediaPlayer音量?在重放开始时(即通过布尔检查)和播放期间(即通过事件)?

1 个答案:

答案 0 :(得分:0)

我发布了一个链接,因为我认为这有助于回答并转换为评论。以下代码来自,我没有信用。他们使用它来收听不插电的耳机,但同样的概念应该可以满足您的要求: Headphone Jack Listener Android

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);
}