一、插件举荐
- 跨平台 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)征询。