1.uni.getRecorderManager()开始录制音频
2.录音结束拿到音频文件
3.音频文件大小只有其他端的十分之一
- 发布:2024-02-20 14:34
- 更新:2024-02-23 11:44
- 阅读:570
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: 11
HBuilderX类型: 正式
HBuilderX版本号: 3.98
手机系统: Android
手机系统版本号: Android 13
手机厂商: 华为
手机机型: 华为P40 pro
页面类型: vue
vue版本: vue3
打包方式: 云端
项目创建方式: HBuilderX
操作步骤:
预期结果:
APP的安卓端的音频文件,应该和其他端的大小差不多
APP的安卓端的音频文件,应该和其他端的大小差不多
实际结果:
音频文件大小只有其他端的十分之一
音频文件大小只有其他端的十分之一
bug描述:
在APP的安卓端,uni.getRecorderManager()录制pcm格式的音频被严重压缩,在其他端,如各个小程序端和APP的IOS端都不会被压缩,同样秒数的音频,在APP的安卓端比其他端文件大小要小了十分之一。
因为这个问题,造成了百度语音转文字功能无法实现,在其他端均可以实现。
2 个回复
HRK_01
感谢反馈,我排查一下
HRK_01
我们底层并未做限制,这是不同端之间有差异所导致的
uni920
您好我这边也是用到了语音识别的功能,用的是阿里的
https://help.aliyun.com/document_detail/456007.html?spm=a2c4g.456006.0.0.193b4cd7phN2rx
但是使用
uni.getRecorderManager()
安卓端录制的音频无法验证通过,阿里反馈是采样位数不对,但是看文档无法设置采样位数,我分析了iOS录制的默认是16,安卓的是14或者13 请问这个要怎么处理安卓音频
https://kehuqiniu.yyyybbbb.com/media/0eb46202402231733303126.wav
2024-02-24 09:17
HRK_01
回复 uni920: 感谢反馈,我联系安卓相关人员排查一下
2024-02-26 11:07
DCloud_Android_zl
回复 uni920: 检查一下代码中有没有设置采样率,如果没有的话,参考
[uni.getRecorderManager()的文档](https://uniapp.dcloud.net.cn/api/media/record-manager.html)
设置之后看一下效果。2024-02-26 15:39
uni920
回复 DCloud_Android_zl: 设置了的
采样率,有效值 8000/16000/44100
这几个值都试过了,PCM、wav
格式也都试过了,录制完毕的音频,分析采样位数都不对,不符合阿里那边的要求2024-02-27 08:34
uni920
回复 DCloud_Android_zl: 包括采样率设置为
48000
这个值也尝试了,也不能符合阿里那边的要求2024-02-27 08:37
DCloud_Android_zl
回复 uni920: aac格式的音频试一下
2024-02-27 11:43
uni920
回复 DCloud_Android_zl:
https://kehuqiniu.yyyybbbb.com/media/a8f7c202402271534494070.aac
阿里反馈还是不可以2024-02-27 15:41
DCloud_Android_zl
回复 uni920: 好的,我确认一下
2024-02-27 18:01
DCloud_Android_zl
回复 uni920: 麻烦发一个iOS端录制的正常文件
2024-02-28 17:30
uni920
回复 DCloud_Android_zl:
https://kehuqiniu.yyyybbbb.com/media/0d4c8202402231634565676.wav
2024-03-02 14:18
DCloud_Android_zl
回复 uni920: 我对了一下我们这边的代码,aac格式用的是16bit的,默认也是单声道。wav或pcm格式在录制的时候不能指定位深度。如果aac的阿里不认的话,可以先去我们的插件市场看一下有没有其他的录音插件。wav支持设置位深度需要花较长时间重构。
2024-03-06 12:00
百分点
回复 uni920: 你那边可以设置pcm的比特率吗,我这边也遇到这样的问题了,后台需要的16bit的,但是我看文档上没有设置bit的
2024-07-17 21:18