科大讯飞语音听写 - Android

    xiaoxiao2021-03-25  151

    因为工作需要,接入到语音转文字,公司选定使用科大讯飞的技术,所以开始了解,在此先把Demo跑起来,并记录下遇到过的坑。

    进入讯飞开放平台右上角注册并登录进入控制台并创建应用下载SDK

    提示:每个应用都有对应的Appid, 应用创建成功后,并从SDK下载按钮点击进入,下载后的Demo, 都已经填写好Appid,不需要自己填写了。

    下面开始把Demo跑起来,官方的Demo是不能直接跑起来的,需要先创建一个新项目,这里我命名为Xfdemo, 然后按照官方的接入文档操作,才能正常跑起来,但跑起来后,也会遇到一些问题,先列一下:

    录音的权限问题。

    参考官方接入文档 ,并作出了补充。

    将在官网下载的Android SDK 压缩包中libs目录下所有子文件拷贝至Android工程的libs目录下。如下图所示: 并添加下面代码到app/build.gradle android { // 原有的代码 sourceSets { main { jniLibs.srcDirs = ['libs'] } } } dependencies { // 原有的代码 compile files('libs/Msc.jar') compile files('libs/Sunflower.jar') } 添加权限 - 直接从官方文档复制即可。初始化: 文档指示需要在Application或者Activity.onCreate()方法中执行以下代码初始化: // 将“12345678”替换成您申请的APPID,申请地址:http://www.xfyun.cn // 请勿在“=”与appid之间添加任何空字符或者转义符 SpeechUtility.createUtility(context, SpeechConstant.APPID +"=12345678");

    使用AS的全局搜索,发现createUtility()方法在一个类SpeechApp里面有引用,这是继承Application的子类,如果仅是运行Demo的话,只需要在Androidmanifest.xml里面把SpeechApp配置好自定义Application即可。

    <application android:name=".voicedemo.SpeechApp" // ... </application>

    识别对话框 - 运行Demo时的官方Dialog,方便开发都的一个控件,已经把录音的代码封闭好。链接 按照里面的介绍,把文件复制到位即可,RecognizerDialog 的介绍先可以不管。

    还有一些资源文件的复制,字符串,图片之类的,这些就自行解决吧。

    运行后的样子:

    遇到的问题

    首先是权限问题,尽管在权限里面已经添加,但在录音的时仍会报错误码: 20006 用AS直接安装,所以不会有安装时的权限提示,进入页面,也没有系统弹窗提示,自己进入设置>权限,打开权限即可,这个之后肯定得优化。
    转载请注明原文地址: https://ju.6miu.com/read-15240.html

    最新回复(0)