Step 1 导入SDK

将在官网下载的Android SDK 压缩包中libs目录下所有子文件拷贝至Android工程的libs目录下。如下图所示:

注:

  1. Android SDK提供了各个平台libmsc.so文件,开发者可以根据工程需求选取适当平台库文件进行集成。
  2. 如果您需要将应用push到设备使用,请将设备cpu对应指令集的libmsc.so push到/system/lib中。

Step 2 添加用户权限

在工程 AndroidManifest.xml 文件中添加如下权限

<!--连接网络权限,用于执行云端语音能力 -->
<uses-permission android:name="android.permission.INTERNET"/>
<!--获取手机录音机使用权限,听写、识别、语义理解需要用到此权限 -->
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<!--读取网络信息状态 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<!--获取当前wifi状态 -->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<!--允许程序改变网络连接状态 -->
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
<!--读取手机信息权限 -->
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<!--读取联系人权限,上传联系人需要用到此权限 -->
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<!--外存储写权限,构建语法需要用到此权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<!--外存储读权限,构建语法需要用到此权限 -->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<!--配置权限,用来记录应用配置信息 -->
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
<!--手机定位信息,用来为语义等功能提供定位,提供更精准的服务-->
<!--定位信息是敏感信息,可通过Setting.setLocationEnable(false)关闭定位请求 -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<!--如需使用人脸识别,还要添加:摄相头权限,拍照需要用到 -->
<uses-permission android:name="android.permission.CAMERA" />

注意:如需在打包或者生成APK的时候进行混淆,请在proguard.cfg中添加如下代码:

-keep class com.iflytek.**{*;}
-keepattributes Signature

Step 3 初始化

初始化即创建语音配置对象,只有初始化后才可以使用MSC的各项服务。建议将初始化放在程序入口处(如Application、Activity的onCreate方法),初始化代码如下:

// 将“12345678”替换成您申请的APPID,申请地址:http://www.xfyun.cn
// 请勿在“=”与appid之间添加任何空字符或者转义符
SpeechUtility.createUtility(context, SpeechConstant.APPID +"=12345678");

createUtility方法的第二个参数为传入的初始化参数列表,可配置的参数如下:

参数 说明 必填
appid 8位16进制数字字符串,应用的唯一标识,与下载的SDK一一对应。
usr 开发者在云平台上注册的账号。
pwd 账号对应的密码,与账号同时存在。
engine_mode 引擎模式,可选值为:msc:只使用MSC的能力;plus:只使用语记能力;auto:云端使用MSC,本地使用语记;默认取值为auto。注:使用MSC本地功能的请设置为msc。
force_login 在createUtility时会对进程名称进行检查,如果名称与应用包名不一致则不进行login操作,返回null,用以规避在子进程反复进行调用的问题。此参数设置是否强制login。默认值:false (进行检查,不强制login)。
lib_name 在createUtility时会加载动态库,此时可以传入动态库名称。例如:libmsc_xxx_1072.so(xxx为您的公司名,1072为科大讯飞sdk版本号), 默认值:msc。注:如您是预装软件,为了避免动态库冲突建议修改名称。

注意:参数需要以键值对的形式存储在字符串中传入createUtility方法,以逗号隔开,如“appid=12345678,usr=iflytekcloud,pwd=123456”。

Copyright © iflytek.com 2018 all right reserved,powered by Gitbook该文件修订时间: 2018-04-24 10:01:27

results matching ""

    No results matching ""