const recorderManager = uni.getRecorderManager()
recorderManager.start({
sampleRate: 16000,
numberOfChannels: 1,
format: 'wav',
encodeBitRate: 96000, // 编码码率
duration: countTime.value * 1000 // 倒计时时间
})
recorderManager.onStop((res) => {
voicePath.value = res.tempFilePath
// 上传语音到oss 上报道父组建,然后就到阿里云了
emit('recordOssAddress', {
voicePath: voicePath.value,
durationTime: durationTime,
repeatedStatus: 0
})
})
- 发布:2023-09-13 10:10
- 更新:2023-09-15 09:38
- 阅读:440
产品分类: uniapp/App
PC开发环境操作系统: Mac
PC开发环境操作系统版本号: macbook
HBuilderX类型: 正式
HBuilderX版本号: 3.8.12
手机系统: iOS
手机系统版本号: iOS 15
手机厂商: 苹果
手机机型: iPhone13,iPhone13 pro,iPhone13 mini
页面类型: vue
vue版本: vue3
打包方式: 离线
项目创建方式: HBuilderX
示例代码:
操作步骤:
开始录音,完成后通过临时路径调用uni
.uploadFile上传到阿里云
开始录音,完成后通过临时路径调用uni
.uploadFile上传到阿里云
预期结果:
录音有声音,本地和阿里云文件都能播放
录音有声音,本地和阿里云文件都能播放
实际结果:
没得声音,一个空的4KB录音文件
没得声音,一个空的4KB录音文件
bug描述:
有一个请求用户录音的功能,在获取用户麦克风权限后,开始录音,录入完后上传阿里云,阿里云的到的是一个空的语音文件,用户反馈本地语音也不能播放,iPhone13机型都有这个问题,别的机型未见反馈
1 个回复
pengcheng933 (作者)
问题已解决
补充场景:这里是一个对话功能,对方说一句,然后你回答一句,在说话时虽然掉了播放声音停止API,但这是一个异步操作,在IOS部分机型里面可能没有完全停止,这造成语音播放和录音冲突
代码修改 监听播放停止后再录音