在牛轧糖中录制蓝牙耳机音频

时间:2017-12-19 16:58:50

标签: android audio bluetooth

所以,我试图从蓝牙耳机录制波形文件。

这是我用来录制的内容

 recorder = AudioRecord(MediaRecorder.AudioSource.VOICE_COMMUNICATION,
                8000,
                AudioFormat.CHANNEL_IN_MONO,
                AudioFormat.ENCODING_PCM_16BIT,
                BUFFER_SIZE)

在开始录制之前,我使用

开始与耳机进行音频通信
var am = getSystemService(Context.AUDIO_SERVICE) as AudioManager
am!!.mode = 0
am!!.isBluetoothScoOn = true
am!!.startBluetoothSco()
am!!.mode = AudioManager.MODE_IN_COMMUNICATION

嗯,在Android 6(marshmallow)录制时会产生奇迹,但在Android 7(牛轧糖)录制时,它会继续使用我手机的麦克风录制,而不是蓝牙耳机。查看文档,我没有找到任何关于版本之间蓝牙SCO变化的信息。那么......我错过了什么?

1 个答案:

答案 0 :(得分:0)

当我们尝试录制蓝牙语音通话时,我们遇到了类似的问题。问题是应用程序在收到拨出电话的电话广播后立即开始录制,但蓝牙接口仅在呼叫开始后的几毫秒内连接。 我们最终通过在开始记录之前应用简单的睡眠来解决这个问题,这解决了这个问题。