Android 系统下无法通过蓝牙耳机录音(iOS可以)
发布于 5 年前 作者 liangtao 4012 次浏览 来自 问答

手机连接蓝牙耳机(蓝牙耳机能正常SCO通话)的情况下,在iOS上小程序调用录音API时可以从蓝牙耳机录音,但是同样的小程序在Android平台上录音不能从蓝牙耳机录音。以下是代码片段

capture: function () {
 const recorderManager = wx.getRecorderManager()
 recorderManager.onStart(() => {
   console.log('recorder start')
 })
 recorderManager.onResume(() => {
   console.log('recorder resume')
 })
 recorderManager.onPause(() => {
   console.log('recorder pause')
 })
 recorderManager.onStop((res) => {
   console.log('recorder stop', res)
   const { tempFilePath } = res
   this.setData(
     { recordFile: tempFilePath}
   )
   console.log('开始播放 tempFilePath ' + tempFilePath)
 })
 recorderManager.onFrameRecorded((res) => {
   const { frameBuffer } = res
   console.log('frameBuffer.byteLength', frameBuffer.byteLength)
 })
 const options = {
   duration: 3000,
   sampleRate: 44100,
   numberOfChannels: 1,
   encodeBitRate: 192000,
   format: 'mp3',
   frameSize: 50
 }
 recorderManager.start(options)
},

更新:

代码片段wechatide://minicode/a33BgPmF6QZB

4 回复

这里想问一下android 原生app能录音么?

你好,你可以打印onError的回调错误信息,查看是什么报错信息

问题可能没有描述清楚,在Android上也想从蓝牙耳机录音,但是只能从手机自带MIC录音,onError没有报任何错误;在iOS上,如果手机连上了蓝牙耳机,小程序里调用录音API时,会自动从蓝牙耳机录音。推测是Android上调用录音API时,微信没有根据连接了蓝牙耳机的情况把音频通道调成AudioManager.MODE_IN_CALL状态,因为原生Android APP设置成了AudioManager.MODE_IN_CALL就可以从蓝牙耳机录音了。

回到顶部