科大讯飞语音听写 - Android

因为工作需要,接入到语音转文字,公司选定使用科大讯飞的技术,所以开始了解,在此先把Demo跑起来,并记录下遇到过的坑。
  1. 进入讯飞开放平台
  2. 右上角注册并登录
  3. 进入控制台并创建应用
  4. 下载SDK

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

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

  1. 录音的权限问题。
参考官方接入文档 ,并作出了补充。
  1. 将在官网下载的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')
}
  1. 添加权限 - 直接从官方文档复制即可。
  2. 初始化:
    文档指示需要在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>

  1. 识别对话框 - 运行Demo时的官方Dialog,方便开发都的一个控件,已经把录音的代码封闭好。链接

    按照里面的介绍,把文件复制到位即可,RecognizerDialog 的介绍先可以不管。

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

运行后的样子:

1.jpg

遇到的问题
  1. 首先是权限问题,尽管在权限里面已经添加,但在录音的时仍会报错误码: 20006
    2.jpg
    用AS直接安装,所以不会有安装时的权限提示,进入页面,也没有系统弹窗提示,自己进入设置>权限,打开权限即可,这个之后肯定得优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值