针对 Android 2.2。
我需要检查用户在收听媒体时是否使用扬声器或耳机。到目前为止,我发现的最好的是isWiredHeadsetOn方法。可惜它已经被弃用了。有没有更好的方法来判断耳机是否插入?
真正的问题是:插入耳机时如何降低MediaPlayer
音量?在播放开始(即通过布尔检查)和播放期间(即通过事件)?
针对 Android 2.2。
我需要检查用户在收听媒体时是否使用扬声器或耳机。到目前为止,我发现的最好的是isWiredHeadsetOn方法。可惜它已经被弃用了。有没有更好的方法来判断耳机是否插入?
真正的问题是:插入耳机时如何降低MediaPlayer
音量?在播放开始(即通过布尔检查)和播放期间(即通过事件)?
我发布了一个链接,因为我认为这将有助于回答并转换为评论。以下代码来自,我不相信。他们用它来收听未插入的耳机,但是对于您所要求的,应该可以使用相同的概念: 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);
}