科大讯飞语音听写 - Android

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

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

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

  1. 录音的权限问题。
参考官方接入文档 ,并作出了补充。
  1. 将在官网下载的Android SDK 压缩包中libs目录下所有子文件拷贝至Android工程的libs目录下。如下图所示:


    科大讯飞语音听写 - Android_第1张图片

    并添加下面代码到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即可。

    

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

    科大讯飞语音听写 - Android_第2张图片

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

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

运行后的样子:

科大讯飞语音听写 - Android_第3张图片
1.jpg

遇到的问题

  1. 首先是权限问题,尽管在权限里面已经添加,但在录音的时仍会报错误码: 20006


    科大讯飞语音听写 - Android_第4张图片
    2.jpg

    用AS直接安装,所以不会有安装时的权限提示,进入页面,也没有系统弹窗提示,自己进入设置>权限,打开权限即可,这个之后肯定得优化。

你可能感兴趣的:(科大讯飞语音听写 - Android)