当我的手机靠近耳朵时,我试图通过听筒播放音频,但是当我这样做时,我遇到了一些问题
首先,这是我的媒体播放器代码
mediaPlayer.setAudioStreamType(AudioManager.MODE_NORMAL);
mediaPlayer.setDataSource(this, receivedUri);
mediaPlayer.prepare();
这是传感器的事件
public void onSensorChanged(SensorEvent event) {
mPowerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
if (mWakeLock == null) {
mWakeLock = mPowerManager.newWakeLock(PowerManager.PROXIMITY_SCREEN_OFF_WAKE_LOCK, TAG);
}
if (event.values[0] < mSensor.getMaximumRange()) {
mAudioManager.setSpeakerphoneOn(false);
if (!mWakeLock.isHeld()) {
mWakeLock.acquire();
}
} else {
mAudioManager.setSpeakerphoneOn(true);
if (mWakeLock != null && mWakeLock.isHeld()) {
mWakeLock.release();
}
}
}
屏幕关闭并且一切正常,这里的问题是我使用
mediaPlayer.setAudioStreamType(AudioManager.MODE_NORMAL)
听筒和扬声器的音频效果很好,但是当我插入耳机时,音频会继续通过手机的扬声器播放,并且在我使用
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC)
音频仅通过耳机和扬声器起作用,但是当我将手机放在耳朵附近时不起作用,这意味着我想用听筒播放音频时。请我需要帮助