Java 通过蓝牙录制音频时在耳机上播放实时音频
我正在从蓝牙耳机录制音频。我想在有线耳机上实时播放录制的音频。如何将音频定向到有线耳机 我使用下面的代码来指导音频Java 通过蓝牙录制音频时在耳机上播放实时音频,java,android,audio-streaming,android-bluetooth,headset,Java,Android,Audio Streaming,Android Bluetooth,Headset,我正在从蓝牙耳机录制音频。我想在有线耳机上实时播放录制的音频。如何将音频定向到有线耳机 我使用下面的代码来指导音频 mAudioManager.setSpeakerphoneOn(false); mAudioManager.setWiredHeadsetOn(true); mAudioManager.setRouting(AudioManager.MODE_IN_COMMUNICATION, AudioManager.ROUTE_HEADSET,AudioManager.ROUTE_BLUETO
mAudioManager.setSpeakerphoneOn(false);
mAudioManager.setWiredHeadsetOn(true);
mAudioManager.setRouting(AudioManager.MODE_IN_COMMUNICATION, AudioManager.ROUTE_HEADSET,AudioManager.ROUTE_BLUETOOTH_SCO );
以上代码适用于android版本5,但不适用于android版本7及以上
需要以下方面的帮助:
我用下面的代码解决了它。它适用于旧版本,但在新版本中直接发送到有线耳机的音频噪音很大。我将尝试解决噪音问题,并更新答案
AudioDeviceInfo[] devices = mAudioManager.getDevices(AudioManager.GET_DEVICES_OUTPUTS);
if (devices != null){
for (AudioDeviceInfo device : devices)
if (device.getType() == AudioDeviceInfo.TYPE_WIRED_HEADSET || device.getType() == AudioDeviceInfo.TYPE_WIRED_HEADPHONES) {
audioTrack.setPreferredDevice(device);
mAudioManager.setWiredHeadsetOn(true);
mAudioManager.setSpeakerphoneOn(false);
}
}
我用下面的代码解决了它。它适用于旧版本,但在新版本中直接发送到有线耳机的音频噪音很大。我将尝试解决噪音问题,并更新答案
AudioDeviceInfo[] devices = mAudioManager.getDevices(AudioManager.GET_DEVICES_OUTPUTS);
if (devices != null){
for (AudioDeviceInfo device : devices)
if (device.getType() == AudioDeviceInfo.TYPE_WIRED_HEADSET || device.getType() == AudioDeviceInfo.TYPE_WIRED_HEADPHONES) {
audioTrack.setPreferredDevice(device);
mAudioManager.setWiredHeadsetOn(true);
mAudioManager.setSpeakerphoneOn(false);
}
}