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

一、插件举荐

  • 跨平台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)征询。

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理