关于语音:跨平台Android和IOS百度语音在线识别原生插件

41次阅读

共计 3519 个字符,预计需要花费 9 分钟才能阅读完成。

一、插件举荐

  • 跨平台 Office 文档、图片在线预览,视频播放原生插件
  • Android 和 IOS 图片在线预览,视频播放原生插件
  • 跨平台 Android 和 IOS 百度 OCR 文字辨认、证卡辨认、票据辨认原生插件

二、筹备工作

1. Android、IOS 端证书筹备工作

  • Android 端:生成 Android 打包 keystore 证书文件 及获取 MD5(十分重要),参考文档:Android 平台签名证书(.keystore) 生成指南 – DCloud 问答
  • IOS 端:Windows 零碎下申请 IOS 证书、Mac 零碎下申请 IOS 证书

2. 百度材料筹备

  • 进入百度 AI 开放平台
  • 点击右上角 控制台 登录,若无账号,请先注册账号
  • 登录后,若没有实名认证,请先实名认证,举荐企业实名认证(可应用性能更多)
  • 抉择语音技术 —》创立利用

  • 获取 API Key、Secret Key 以及 License 文件

  • 百度语音辨认接口免费详情,请在百度控制台—》概述查看,或者间接查看产品定价文档

三、疾速上手

  • Step1:下载本插件示例我的项目,或者下载 GitHub – silianpan/Seal-UniPlugin-Demo
  • Step2:关上 manifest.json—》根底配置—》从新获取 DCloud AppID
  • Step3:点击试用
  • Step4:关上 manifest.json—》App 原生插件配置—》抉择云端插件

  • Step5:制作自定义调试基座:在 HBuilderX 菜单中点击 运行—》运行到手机或模拟器—》制作自定义调试基座,填写步骤及注意事项如下图

    附:debug.keystore 下载链接,仅仅用作测试

    Keystore name:“debug.keystore”Keystore password:“android”Key alias:“AndroidDebugKey”Key password:“android”

    md5:A5:61:77:2E:AA:63:15:18:47:D6:5B:EC:6A:FA:F4:0A

  • Step6:抉择自定义调试基座:点击 运行—》运行到手机或模拟器—》基座运行抉择—》自定义调试基座
  • Step7:调试运行:点击 运行—》运行到手机或模拟器—》运行到 Android App 基座

四、接口使用手册

  • 插件办法一:recogOnlineStart,开始在线辨认
  • 办法参数
参数 类型 默认值 是否必填 阐明
appId string null 百度 AI 开放平台控制台利用 AppID
appKey string null 百度 AI 开放平台控制台利用 Api Key
appSecret string null 百度 AI 开放平台控制台利用 Secret Key
pid int null PID,语种,具体阐明如下
lmId int null 自训练平台 ID,请选 PID=8002 失效
enableLongSpeech bool false 长语音,优先级高于 vad_endpoint_timeout
vadEndpointTimeout int null VAD 时长设置,长语音抉择 0
vad string dnn VAD 是否开启,dnn,默认,举荐模型;touch,敞开静音断句性能,用户手动进行录音。
infile string null 内部音频,能够是:资源门路或回调办法名 该参数反对设置为:a. pcm 文件,零碎门路,如:/sdcard/test/test.pcm;音频 pcm 文件不超过 3 分钟 b. pcm 文件, JAVA 资源门路,如:res:///com/baidu.test/16k_test.pcm;音频 pcm 文件不超过 3 分钟 c. InputStream 数据流,# 办法全名的字符串,格局如:”#com.test.Factory.create16KInputStream()”(解释:Factory 类中存在一个返回 InputStream 的办法 create16kInputStream()),留神:必须以井号开始;办法原型必须为:public static InputStream create16KInputStream()。超过 3 分钟的录音文件,请在每次 read 中 sleep,防止 SDK 外部缓冲不够。
multiInvoke bool true 是否放弃屡次语音辨认后果回调
checkPermRecordAudio bool true 是否开启查看录音权限
isFinish bool false 是否完结辨认
  • PID,语种具体阐明

    • 在线参数,请依据语言,输入法模型及是否须要在线语义,来抉择 PID。

      • 语言:目前反对中文普通话,四川话,粤语,和英语四个
      • 输入法模型:实用于较长的句子输出。默认有标点,不反对在线语义; 开启标点后,不反对本地语义。
      • 自训练平台模型:在输入法模型的根底上,能够自行上传词库和句库,生成您本人的训练模型。
      • 在线语义:在线语义只反对普通话(本地语义也是只反对普通话)。在线语义对辨认后果的文字,再做结构化解析,找到语句的“关键词”。在线语义具体阐明请查看“语义了解协定”文档。
      • Unit 2.0 语义:性能相似在线语义,然而能够自定义解析。
      • 补充:PID=8001,自训练平台输入法模型;PID=8002,自训练平台搜寻模型。
  • 代码示例

    sealVoiceASRModule.recogOnlineStart(
        {
            // appId: '',
            // appKey: '',
            // appSecret: '',
            enableLongSpeech: true
        },
        ret => {
            const resultCode = ret.code;
            console.log('resultCode', resultCode);
            if (resultCode === 1000) {
                modal.toast({message: ` 正在在线辨认,开始标识:${resultCode}`,
                    duration: 3
                });
                this.recogOnlineBtn = '正在在线辨认...';
            } else if (resultCode === 1001) {this.recogText += JSON.parse(ret.result).result + ' '
                // uni.showModal({//  content: ` 获取在线辨认后果(${resultCode}):` + ret.result
                // });
                // modal.toast({
                //  message: '获取在线辨认后果:' + ret.result,
                //  duration: 3
                // })
            }
        }
    );
  • 接口返回格局

    {
        code: 1001,
        result: '辨认后果'
    }
  • 接口回调后果状态码阐明

    状态码 阐明
    1000 辨认开始
    1001 辨认胜利,返回辨认后果 解析辨认后果格局,参考:https://cloud.baidu.com/doc/S…
    1002 辨认完结
  • 插件办法二:recogOnlineEnd,完结辨认
  • 也能够调用 recogOnlineStart 办法,传递 {isFinish: true} 参数
  • 代码示例

    // 调用 recogOnlineStart 接口,传递 isFinish 为 true
    // sealVoiceASRModule.recogOnlineStart({isFinish: true}, ret => {sealVoiceASRModule.recogOnlineEnd({}, ret => {
        const resultCode = ret.code;
        if (resultCode === 1002) {
            modal.toast({message: ` 辨认完结,完结标识:${resultCode}`,
                duration: 3
            });
            this.recogOnlineBtn = '开始在线辨认';
        }
    });

五、后续打算

  • IOS 端反对

六、本插件须要申请的零碎权限列表

  • Android 端须要申请的权限列表

    • android.permission.READ_EXTERNAL_STORAGE 读取 SD 卡中的内容
    • android.permission.WRITE_EXTERNAL_STORAGE 批改或删除 SD 卡中的内容
    • android.permission.INTERNET 拜访网络连接
    • android.permission.RECORD_AUDIO 录音权限
  • Android 端:插件性能应用百度开放平台语音辨认 SDK,参考其官方网站 https://ai.baidu.com/tech/speech

各位同学,对于插件应用还有疑难的,能够加 QQ 群(170683293)征询。

正文完
 0