1***@qq.com
1***@qq.com
  • 发布:2024-02-20 14:34
  • 更新:2024-02-23 11:44
  • 阅读:570

【报Bug】在APP的安卓端,uni.getRecorderManager()录制pcm格式的音频被严重压缩

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: 11

HBuilderX类型: 正式

HBuilderX版本号: 3.98

手机系统: Android

手机系统版本号: Android 13

手机厂商: 华为

手机机型: 华为P40 pro

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:

1.uni.getRecorderManager()开始录制音频
2.录音结束拿到音频文件
3.音频文件大小只有其他端的十分之一

预期结果:

APP的安卓端的音频文件,应该和其他端的大小差不多

实际结果:

音频文件大小只有其他端的十分之一

bug描述:

在APP的安卓端,uni.getRecorderManager()录制pcm格式的音频被严重压缩,在其他端,如各个小程序端和APP的IOS端都不会被压缩,同样秒数的音频,在APP的安卓端比其他端文件大小要小了十分之一。
因为这个问题,造成了百度语音转文字功能无法实现,在其他端均可以实现。

2024-02-20 14:34 负责人:DCloud_Android_zl 分享
已邀请:
HRK_01

HRK_01

感谢反馈,我排查一下

HRK_01

HRK_01

我们底层并未做限制,这是不同端之间有差异所导致的

  • uni920

    您好我这边也是用到了语音识别的功能,用的是阿里的https://help.aliyun.com/document_detail/456007.html?spm=a2c4g.456006.0.0.193b4cd7phN2rx


    准备音频文件  
    音频格式要求

    支持的输入格式:单声道(mono)16bit采样位数音频,包括无压缩的PCM、WAV格式。

    音频采样率:16000 Hz、24000 Hz、48000 Hz。

    但是使用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

要回复问题请先登录注册