Android 工具类(util)
这里介绍的是Android API关于工具类(util)的相关说明,点击右侧目录可快速找到相应文件。
接口ContactManager.ContactListener
com.iflytek.cloud.util
public static interface ContactManager.ContactListener
联系人查询回调简介
通过实现此接口,并在ContactManager. createManager (android.content.Context, com.iflytek.cloud.util.ContactManager.ContactListener)传入,通过 ContactManager. asyncQueryAllContactsName ()开始异步查询后,通过此接口获取联系人查询状态和结果。
方法概要
限定符和类型 | 字段和说明 |
---|---|
void |
onContactQueryFinish
(java.lang.String contactInfos, boolean changeFlag)
联系人查询结束通过此接口,获取查询结果。 |
方法详细资料
onContactQueryFinish
void onContactQueryFinish(java.lang.String contactInfos,
boolean changeFlag)
联系人查询结束
通过此接口,获取查询结果。在调用ContactManager. asyncQueryAllContactsName ()开始查询后,将通过此函数返回一次结果。如果随后联系人或通话记录有变化,此函数将再次回调,并通过参数2告知是否是联系或通话记录有变化。
参数:
- contactNames - 联系人姓名集字符串,格式说明,请参考 类ContactManager 类说明。
- changeFlag - 联系人是否变化标志
另请参阅: ContactManager. createManager (android.content.Context,com.iflytek.cloud.util.ContactManager.ContactListener),ContactManager. asyncQueryAllContactsName (),ContactManager. queryAllContactsName ()
接口FileDownloadListener
com.iflytek.cloud.util
public interface FileDownloadListener
文件监听器简介
通过实现此接口,获取当前文件下载的进度、状态和结果
方法概要
限定符和类型 | 字段和说明 |
---|---|
void |
onCompleted
(java.lang.String filePath, SpeechError error)
下载完成回调 回调此函数时,下载任务完成。 |
void |
onProgress
(int percent)
下载进度回调 回调此函数时,下将返回载任务的进度信息,用于显示当前任务进度,已换算成百分制 |
void |
onStart
()
下载启动回调 回调此函数时,下载任务已启动下载 |
方法详细资料
onStart
void onStart()
下载启动回调
回调此函数时,下载任务已启动下载
onProgress
void onProgress(int percent)
下载进度回调
回调此函数时,下将返回载任务的进度信息,用于显示当前任务进度,已换算成百分制
参数:
- percent - 下载任务进度,已换算百分制。
onCompleted
void onCompleted(java.lang.String filePath,
SpeechError error)
下载完成回调
回调此函数时,下载任务完成。若下载成功回到文件绝对路径,若会话有错误, 则通过参数2返回错误信息。
参数:
- filePath - 下载文件绝对路径
- error - 错误信息,会话正常时,error值为null。
另请参阅: SpeechError
类Accelerometer
com.iflytek.cloud.util
java.lang.Object
com.iflytek.cloud.util.Accelerometer
public class Accelerometer extends java.lang.Object
重力传感器简介
用于开启重力传感器,以获得当前手机朝向,用于人脸检测时,获取照片的正确方向。
嵌套类概要
限定符和类型 | 类和说明 |
---|---|
static class |
Accelerometer.CLOCKWISE_ANGLE
手机旋转角度Deg0定义为横屏且主页键在右边,如下图所示: |
构造器概要
构造器和说明 |
---|
Accelerometer
(android.content.Context ctx)
构造函数构造一个实例。 |
方法概要
限定符和类型 | 方法和说明 |
---|---|
static int |
getDirection
()
返回当前手机转向 调用此函数,获取当前手机的转向,返回的值为 Accelerometer.CLOCKWISE_ANGLE .getValue()的值。 |
void |
start
()
开始监听传感器 调用此函数,开始监听重力传感器。 |
从类继承的方法 java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
构造器详细资料
Accelerometer
public Accelerometer(android.content.Context ctx)
构造函数
构造一个实例。
参数:
- ctx - 应用上下文
方法详细资料
start
public void start()
开始监听传感器
调用此函数,开始监听重力传感器。监听开始后,可通过 getDirection ()获取当前手机的转向。通过stop()停止监听。
另请参阅: stop (), getDirection ()
stop
public void stop()
结束传感器监听
结束监听重力传感器后,无法再获取当前手机的转向。可通过start()再次 开启重力传感器监听。
另请参阅: start ()
getDirection
public static int getDirection()
返回当前手机转向
调用此函数,获取当前手机的转向,返回的值为 Accelerometer.CLOCKWISE_ANGLE .getValue()的值。通过此函数获取转向前,应该先通过 start ()开始监听。
返回: 转向值,参考Accelerometer.CLOCKWISE_ANGLE.getValue()的值
另请参阅: start (), Accelerometer.CLOCKWISE_ANGLE.getValue()
类AudioCoder
com.iflytek.cloud.util
java.lang.Object
com.iflytek.cloud.util.AudioCoder
public abstract class AudioCoder extends java.lang.Object
编解码类简介
通过编解码类,实现音频的编解码。
本类使用单例,调用者使用本类的对象,只需要通过 createCoder (android.content.Context, java.lang.String)创建一次对象后,便可一直使用该对象,直到通过调用 destroy ()进行单例对象销毁。调用者可通过 getCoder ()获取当前已经创建的单例。在销毁本类的单例对象后, 需要先通过 createCoder (android.content.Context, java.lang.String)再次创建单例对象,方可再使用。
在当前应用生命周期第一次使用本类的任何函数前,须先调用SpeechUtility. createUtility (android.content.Context, java.lang.String)进行SDK初始化。
嵌套类概要
限定符和类型 | 类和说明 |
---|---|
static class |
AudioCoder.CoderResult
结果类 在编解码时,编解码的结果数据。 |
字段概要
限定符和类型 | 字段和说明 |
---|---|
static java.lang.String |
LEVEL
编码等级 编码等级,指编码时,压缩的等级。 |
static java.lang.String |
LIBRARY
编解码库 编解码库指编码或解码时,用到的库,目前支持以下编解码库:speex。 |
static int |
MAX_BUF_LEN
常量值:最大缓存大小 编解码音频时,应用层一次传入音频的最大字节大小。 |
static java.lang.String |
MODE
编码模式 是否是宽带模式(仅在speex库中支持)。 |
方法概要
限定符和类型 | 方法和说明 |
---|---|
static AudioCoder |
createCoder
(android.content.Context context, java.lang.String param)
创建单例对象 使用此函数创建一个本类单例对象。 |
abstract AudioCoder.CoderResult |
decode
(byte[] buffer, int offset, int length, boolean isLast)
解码 通过在参数中,填充待解码音频数据,及其他相关的数据信息。 |
abstract boolean |
destroy
()
销毁单例对象 通过本函数,销毁由createCoder(android.content.Context, java.lang.String)创建的单例对象。 |
abstract AudioCoder.CoderResult |
encode
(byte[] buffer, int offset, int length, boolean isLast)
编码 通过在参数中,填充待编码音频数据,及其他相关的数据信息。 |
static AudioCoder |
getCoder
()
获取单例对象 通过函数获取已创建的单例对象。 |
abstract void |
setParameter
(java.lang.String key, java.lang.String value)
设置参数 在编解码前,可设置编解码的参数,包括: LEVEL :编码等级; |
从类继承的方法 java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
字段详细资料
LIBRARY
public static final java.lang.String LIBRARY
编解码库
编解码库指编码或解码时,用到的库,目前支持以下编解码库:speex。 在编码时,可以指定任意支持的编码库,但在解码时,必须指定待解码音频格式一致的的解码库,否则解码失败,或结果音频与预想的不一致。
是否必须设置:是
默认值:"speex"
值范围:{"speex"}
另请参阅: 常量字段值
LEVEL
public static final java.lang.String LEVEL
编码等级
编码等级,指编码时,压缩的等级。解码时不必指定。 speex:[0, 10],默认0;
是否必须设置:是(编码时)
默认值:0
值范围:[0, 10]
另请参阅: 常量字段值
MODE
public static final java.lang.String MODE
编码模式
是否是宽带模式(仅在speex库中支持)。
是否必须设置:否
默认值:0
值范围:{0, 1}
另请参阅: 常量字段值
MAX_BUF_LEN
public static final int MAX_BUF_LEN
常量值:最大缓存大小
编解码音频时,应用层一次传入音频的最大字节大小。 当一次传入最大音频字节大于此值时,可能导致编解码失败。 同时,编解码后返回的音频可能会大于或小于此值。
另请参阅: encode (byte[], int, int, boolean), decode (byte[], int, int, boolean), 常量字段值
方法详细资料
createCoder
public static AudioCoder createCoder(android.content.Context context,
java.lang.String param)
创建单例对象
使用此函数创建一个本类单例对象。当成功创建一次单例对象后,可一直使用此对象, 直到调用 destroy ()销毁已创建的单例对象为止。若在当前应用生命周期内调用 destroy ()前再次调用本函数,则直接返回已创建的单例对象。可通过 getCoder ()获取已创建的单例对象。
覆盖:
参数:
返回: 编解码对象
getCoder
public static AudioCoder getCoder()
获取单例对象
通过函数获取已创建的单例对象。当单例对象未创建时,将返回null,此时应先通过 createCoder (android.content.Context, java.lang.String)创建单例对象。
返回: 编解码对象
另请参阅: createCoder (android.content.Context, java.lang.String), destroy ()
destroy
public abstract boolean destroy()
销毁单例对象
通过本函数,销毁由 createCoder (android.content.Context, java.lang.String)创建的单例对象。
当本函数返回true时,销毁成功。此时,之前创建的单例对象已不能再使用,否则,将会报错。此时需要再使用,应先通过 createCoder (android.content.Context, java.lang.String)创建一个新的单例对象。
返回: 销毁成功:true;销毁失败:false。
另请参阅: createCoder (android.content.Context, java.lang.String
encode
public abstract AudioCoder.CoderResult encode(byte[] buffer,
int offset,
int length,
boolean isLast)
编码
通过在参数中,填充待编码音频数据,及其他相关的数据信息。参考 AudioCoder.CoderResult 。
每次传入的数据长度,应为1帧音频大小的整数倍,如音频为16位、单声道的Windows PCM音频时,则数据长度应为16/8=2字节的整数倍。
此函数将把音频数据编码后,同步通过返回值返回,将阻塞当前线程。
参数:
- buffer - 待编码音频缓存区
- offset - 有效音频开始位置编移
- length - 有效音频数据长度
- isLast - 是否是最后一段音频
返回: 已编码数据
decode
public abstract AudioCoder.CoderResult decode(byte[] buffer,
int offset,
int length,
boolean isLast)
解码
通过在参数中,填充待解码音频数据,及其他相关的数据信息。参考 AudioCoder.CoderResult 。
每次传入的数据长度,应为1帧音频大小的整数倍。
此函数将把音频数据解码后,同步通过返回值返回,将阻塞当前线程。
参数:
- buffer - 待解码音频缓存区
- offset - 有效音频开始位置编移
- length - 有效音频数据长度,单次写入最大长度限制,见 MAX_BUF_LEN 。
- isLast - 是否是最后一段音频
返回: 已解码数据
setParameter
public abstract void setParameter(java.lang.String key,
java.lang.String value)
设置参数
在编解码前,可设置编解码的参数,包括: LEVEL :编码等级;
参数:
- key - 参数名
- value - 参数值
类AudioCoder.CoderResult
com.iflytek.cloud.util
java.lang.Object
com.iflytek.cloud.util.AudioCoder.CoderResult
public static class AudioCoder.CoderResult extends java.lang.Object
结果类简介
在编解码时,编解码的结果数据。
字段概要
限定符和类型 | 字段和说明 |
---|---|
byte[] |
buffer
音频数据缓存 存放音频数据的内存空间。 |
int |
error
错误信息 当此值不为0时,表示出现错误。 |
int |
length
数据长度 数据长度,指定#dataBuf中有效的数据的长度。 |
int |
offset
数据偏移 指定#dataBuf有效数据开始位置,相对当前数组开始位置的偏移大小。 |
构造器概要
构造器和说明 |
---|
CoderResult () |
方法概要
从类继承的方法 java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
字段详细资料
buffer
public byte[] buffer
音频数据缓存
存放音频数据的内存空间。
值类型:byte[]
值域:{null, 对应的数据数组}
offset
public int offset
数据偏移
指定#dataBuf有效数据开始位置,相对当前数组开始位置的偏移大小。
值类型:int
值域:[0, +∞]
length
public int length
数据长度
数据长度,指定#dataBuf中有效的数据的长度。 bufLen <= dataBuf.length - offset。
值类型:int
值域:[0, +∞]
error
public int error
错误信息
当此值不为0时,表示出现错误。
值类型:int
值域:(-∞, +∞)
另请参阅: ErrorCode
构造器详细资料
CoderResult
public CoderResult()
类ContactManager
com.iflytek.cloud.util
java.lang.Object
com.iflytek.cloud.util.ContactManager
public abstract class ContactManager
extends java.lang.Object
联系人管理类
联系人管理类,用来获取联系人姓名等数据,用于听写词典等。
联系人管理类仅作为辅助工具查询联系人姓名,用于听写时的词典上传到服务器以提高 听写时对联系人的匹配
见 SpeechRecognizer.updateLexicon(java.lang.String, java.lang.String, com.iflytek.cloud.LexiconListener ,
不会上传联系人的电话号码,请放心使用。您也可以自己实现对联系人名字获取,再通过 SpeechRecognizer.updateLexicon(java.lang.String, java.lang.String, com.iflytek.cloud.LexiconListener) 上传更新即可。
通过些功能获取系人时,应用需拥有以下权限: Manifest.permission.READ_CONTACTS
结果格式如下:
张三
李四
王五
本类使用单例,调用者使用本类的对象,只需要通过 createManager (android.content.Context, com.iflytek.cloud.util.ContactManager.ContactListener)创建一次对象后,
便可一直使用该对象,直到通过调用destroy()进行单例对象销毁。调 用者可通过getManager()获取当前已经创建的单例。在销毁本类的单例对象后,
需要先通过 createManager (android.content.Context, com.iflytek.cloud.util.ContactManager.ContactListener)再次创建单例对象,方可再使用。
嵌套类概要
限定符和类型 | 类和说明 |
---|---|
static interface |
ContactManager.ContactListener
联系人查询回调 通过实现此接口,并在 createManager (android.content.Context, com.iflytek.cloud.util.ContactManager.ContactListener)传入,通过 asyncQueryAllContactsName() 开始异步查询后,通过 此接口获取联系人查询状态和结果。 |
方法概要
限定符和类型 | 方法和说明 |
---|---|
abstract void |
asyncQueryAllContactsName
()
异步查询联系人名异步查询,通过ContactManager.ContactListener(#接口contactmanager-contactlistener)返回查询结果,不会阻塞调用线程。 |
static ContactManager | createManager(android.content.Context context, ContactManager.ContactListener contactListener) 创建实例 使用此函数创建一个本类单例对象。 |
static void | destroy() 销毁单例对象 通过本函数,停止查询联系人和监听联系人变化,并销毁由 createManager(android.content.Context, com.iflytek.cloud.util.ContactManager.ContactListener) 创建的单例对象。 |
static ContactManager | getManager() 获取实例 获取已创建的实例,若返回null,则应该先通过 createManager(android.contnt.Context, com.iflytek.cloud.util.ContactManager.ContactListener) 创建实例。 |
abstract java.lang.String | queryAllContactsName() 同步查询联系人名 同步查询,直接通过函数返回联系人名,会有一定的线程阻塞时间。 |
从类继承的方法 java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
方法详细资料
getManager
public static ContactManager getManager()
获取实例
获取已创建的实例,若返回null,则应该先通过 createManager(android.content.Context, com.iflytek.cloud.util.ContactManager.ContactListener) 创建实例。
返回:
ContactManager的实例
另请参阅:
createManager(android.content.Context, com.iflytek.cloud.util.ContactManager.ContactListener)
createManager
public static ContactManager createManager(android.content.Context context,
ContactManager.ContactListener contactListener)
创建实例
使用此函数创建一个本类单例对象。当成功创建一次单例对象后,可一直使用此对象, 直到调用 destroy() 销毁已创建的单例对象为止。若在当前应用生命周期内调用 destroy()前再次调用本函数,则直接返回已创建的单例对象。可通过 getManager()获取已创建的单例对象。
参数: context - 应用上下文
contactListener - 查询联系人监听器,用以获取查询结果
返回:
ContactManager的对象
另请参阅:
静态destroy
public static void destroy()
销毁单例对象
通过本函数,停止查询联系人和监听联系人变化,并销毁由 createManager(android.content.Context, com.iflytek.cloud.util.ContactManager.ContactListener) 创建的单例对象。
销毁成功时,之前创建的单例对象已不能再使用,否则, 将会报错。此时需要再使用,应先通过 createManager(android.content.Context, com.iflytek.cloud.util.ContactManager.ContactListener) 创建一个新的单例 对象。
另请参阅:
createManager(android.content.Context, com.iflytek.cloud.util.ContactManager.ContactListener)
queryAllContactsName
public abstract java.lang.String queryAllContactsName()
同步查询联系人名
同步查询,直接通过函数返回联系人名,会有一定的线程阻塞时间。
返回
联系人名称,格式说明请参考本类说明
另请参阅:
asyncQueryAllContactsName() , getManager()
asyncQueryAllContactsName
public abstract void asyncQueryAllContactsName()
异步查询联系人名
异步查询,通过 ContactManager.ContactListener 返回查询结果,不会阻塞调用线程。 查询状态和结果监听器 ContactManager.ContactListener 设置,参考 createManager(android.content.Context, com.iflytek.cloud.util.ContactManager.ContactListener) 。
返回
联系人名称,格式说明请参考本类说明
另请参阅:
queryAllContactsName() , getManager() , ContactManager.ContactListener
类ResourceUtil
public class ResourceUtil
extends java.lang.Object
资源辅助类
资源辅助类,将资源目录,转换为SDK要求的目录形式。
SDK要求的文件目录格式如下(由此类的函数生成,不关心的用户可忽略),两个文件间, 以英文分号";"分隔:
fd|file_info|offset|length;
fo|file_info|offset|length;
其中fd表示文件标识符,通过assets、res读取时传递,fo表示文件路径方式。
注意:每次通过
generateResourcePath(android.content.Context, com.iflytek.cloud.util.ResourceUtil.RESOURCE_TYPE, java.lang.String)
生成assets、res的文件路径后,都会生 成一个文件句柄,为了使句柄释放,需要通过对应的设置资源路径函数传给SDK,用于使用或释放, 以免造成内存泄露。关于资源路径设置,请参考具体的业务类说明。
SDK加载离线资源有三种方式:
1,通过
SpeechUtility.createUtility(android.content.Context, java.lang.String)
初始化SDK时加载,通过 设置
ENGINE_START
参数,并根据业务不同,指定以下一个或多个的资源路径参数:
TTS_RES_PATH
,
ASR_RES_PATH
,
SpeechConstant.IVW_RES_PATH
,
SpeechConstant.IVW_ENROLL_RES_PATH
。
2,通过
SpeechUtility.setParameter(String, String)
加载,通过 设置
ENGINE_START
参数,并根据业务不同,指定以下一个或多个的资源路径参数:
TTS_RES_PATH
,
ASR_RES_PATH
,
SpeechConstant.IVW_RES_PATH
,
SpeechConstant.IVW_ENROLL_RES_PATH
。
3,通过各业务开始会话的函数加载,通过各业务的setParameter函数,如
SpeechRecognizer.setParameter(String, String)
,根据业务不同, 设置以下资源路径参数中的一个:
TTS_RES_PATH
,
ASR_RES_PATH
,
SpeechConstant.IVW_RES_PATH
,
SpeechConstant.IVW_ENROLL_RES_PATH
。
在同一业务,新的资源加载后,上一个资源将自动被释放。如合成中,如果各发音人资源文件是 分开的,则在加载当前发音人资源后,上一发音人资源将自动被释放。如果要释放当前的资源, 而不加载新的资源,需要同时销毁离线引擎,有以下三种方式:
1,通过
SpeechUtility.setParameter(String, String)
,设置参数
ENGINE_DESTROY
即可。
2,通过各业务的destory函数销毁:
SpeechRecognizer.destroy()
,
SpeechSynthesizer.destroy()
,
VoiceWakeuper.destroy()
。
3,通过
SpeechUtility.destroy()
销毁。
另外,在应用退出后,所有应用相关的资源会被销毁。因为销毁引擎后,重新启动引擎的时间要比 直接更换资源长(会使首次会话的时间变长),所以如果仅是短暂的停止使用,建议不需要销毁资源。
从以下版本开始:
version:1073
另请参阅:
SpeechConstant.ENGINE_TYPE
,
SpeechConstant.IVW_RES_PATH
,
SpeechConstant.IVW_ENROLL_RES_PATH
,
SpeechUtility.createUtility(android.content.Context, java.lang.String)
,
SpeechUtility.setParameter(java.lang.String, java.lang.String)
,
SpeechRecognizer.setParameter(String, String)
,
SpeechSynthesizer.setParameter(String, String)
,
VoiceWakeuper.setParameter(String, String)
嵌套类概要
限定符和类型 | 类和说明 |
---|---|
static class
|
ResourceUtil.RESOURCE_TYPE
资源路径类型 资源路径类型,即资源在移动设备(手机或平板)中存放位置的类型,在安卓平台上, 包括: APK包的assets目录:assets; APK包的res目录:res; SD卡的目录:path; 通过
generateResourcePath(android.content.Context, com.iflytek.cloud.util.ResourceUtil.RESOURCE_TYPE, java.lang.String)
生成路径时,根据类型不同, 在路径参数中,传入对应的值: assets类型时,若资源存放位置为/assets/resource.jet,则在路径参数传入值为 "resource.jet"; res类型时,通过R类获取ID,并转换为
String
类型,如存放位 置为/res/raw/resource.jet,则在路径参数传入值为String.valueOf(R.raw.resource); path类型时,直接传入对应的路径值,如存放位置为/sdcard/resource.jet,则 在路径参数传入值为"/sdcard/resource.jet";
|
字段概要
限定符和类型 | 字段和说明 |
---|---|
static java.lang.String
|
ASR_RES_PATH
识别资源路径 在离线识别时,首次会话,或切换识别资源时,需要设置识别资源路径。
|
static java.lang.String
|
ENGINE_DESTROY
销毁引擎 通过调用
SpeechUtility.setParameter(String, String)
设置此参数 以销毁引擎,并释放资源内存。
|
static java.lang.String
|
ENGINE_START
启动引擎 通过设置此参数,启动离线引擎。
|
static java.lang.String
|
GRM_BUILD_PATH
语法构建目录 在使用离线语法时,需要构建语法并保存到本地,在构建和使用语法时,都需要设置语法的构 建目录。
|
static java.lang.String
|
IVW_RES_PATH
唤醒资源路径 唤醒需要使用本地资源,通过此参数设置本地资源所在的路径。
|
static java.lang.String
|
TTS_RES_PATH
合成资源路径 在离线合成时,首次会话,或切换合成资源时,需要设置资源路径。
|
构造器概要
构造器和说明 |
---|
ResourceUtil () |
方法概要
限定符和类型 | 方法和说明 |
---|---|
static java.lang.String
|
generateResourcePath (android.content.Context context, ResourceUtil.RESOURCE_TYPE type, java.lang.String path)`生成资源路径 传入不同类型的路径值,生成SDK要求的路径值,用于各业务离线功能时,传入资源路径。 |
从类继承的方法 java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
字段详细资料
ENGINE_START
public static final java.lang.String ENGINE_START
启动引擎
通过设置此参数,启动离线引擎。在离线功能使用时,首次设置资源路径时,需要设置此参 数启动引擎。关于设置的方式,参考类说明。
启动引擎参数值因业务类型而异:
合成:
SpeechConstant.ENG_TTS
识别:
SpeechConstant.ENG_ASR
唤醒:
SpeechConstant.ENG_IVW
是否必须设置:是(在首次使用离线功能时)
默认值:null
值范围:见上文
另请参阅:
ENGINE_DESTROY
,常量字段值。
ENGINE_DESTROY
public static final java.lang.String ENGINE_DESTROY
销毁引擎
通过调用
SpeechUtility.setParameter(String, String)
设置此参数 以销毁引擎,并释放资源内存。(通过destory函数销毁引擎时,则不需要设置此参数,参考类说明)
是否必须设置:否
默认值:null
值范围:参考
ENGINE_START
说明
另请参阅:
ENGINE_START
, 常量字段值。
ASR_RES_PATH
public static final java.lang.String ASR_RES_PATH
识别资源路径
在离线识别时,首次会话,或切换识别资源时,需要设置识别资源路径。 资源路径值需要通过
generateResourcePath(android.content.Context, com.iflytek.cloud.util.ResourceUtil.RESOURCE_TYPE, java.lang.String)
生成SDK要求的格式。
是否必须设置:是(离线识别时)
默认值:null
值范围:见上文说明
另请参阅:
TTS_RES_PATH
, 常量字段值。
GRM_BUILD_PATH
public static final java.lang.String GRM_BUILD_PATH
语法构建目录
在使用离线语法时,需要构建语法并保存到本地,在构建和使用语法时,都需要设置语法的构 建目录。与识别资源路径值不一样的是,语法的路径值,不需要通过
generateResourcePath(android.content.Context, com.iflytek.cloud.util.ResourceUtil.RESOURCE_TYPE, java.lang.String)
生成SDK要求的格式。
是否必须设置:是(离线语法识别时)
默认值:null
值范围:有效的文件夹径值(含文件名)
另请参阅:
常量字段值
TTS_RES_PATH
public static final java.lang.String TTS_RES_PATH
合成资源路径
在离线合成时,首次会话,或切换合成资源时,需要设置资源路径。 资源路径值需要通过
generateResourcePath(android.content.Context, com.iflytek.cloud.util.ResourceUtil.RESOURCE_TYPE, java.lang.String)
生成SDK要求的格式。 同时,合成设置资源路径时,必须同时设置发音人参数
SpeechConstant.VOICE_NAME
,值为资源中包含的 其中一个发音人名参数。
是否必须设置:是(离线合成时)
默认值:null
值范围:见上文说明
另请参阅:
ASR_RES_PATH
, 常量字段值。
IVW_RES_PATH
public static final java.lang.String IVW_RES_PATH
唤醒资源路径
唤醒需要使用本地资源,通过此参数设置本地资源所在的路径。多个资源间,以英文分号";"分隔。 与
SpeechConstant.IVW_ENROLL_RES_PATH
一样,用于使用的资源,需要通过
generateResourcePath(android.content.Context, com.iflytek.cloud.util.ResourceUtil.RESOURCE_TYPE, java.lang.String)
生成标准的资源路径值。 请参考
generateResourcePath(android.content.Context, com.iflytek.cloud.util.ResourceUtil.RESOURCE_TYPE, java.lang.String)
。
是否必须设置:是(在非注册时)
默认值:null
值范围:有效的资源文件路径
另请参阅:
SpeechConstant.IVW_SST
,
//@see com.iflytek.cloud.VoiceWakeuper#updateWords(String, String)
, 常量字段值。
构造器详细资料
ResourceUtil
public ResourceUtil()
方法详细资料
generateResourcePath
public static java.lang.String generateResourcePath(android.content.Context context,
ResourceUtil.RESOURCE_TYPE type,
java.lang.String path)
生成资源路径
传入不同类型的路径值,生成SDK要求的路径值,用于各业务离线功能时,传入资源路径。
参数:
context
- 应用上下文
type
- 资源路径类型
path
- 原资源路径
返回:
SDK要求的资源路径值
类UserWords
public class UserWords
extends java.lang.Object
用户词表类
用户个性化词表类,解析、生成json格式数据。用于在听写着上传个性化数据,以提高匹配率, 关于个性化数据上传,参考
SpeechRecognizer.updateLexicon(java.lang.String, java.lang.String, com.iflytek.cloud.LexiconListener)
。 关于联系人列表获取,参考
ContactManager
。
格式示例如下: "userword": { "name" : "default" , "words" : [ "默认词条1", "默认词条2" ] }, { "name" : "词表名称1", "words": [ "词条1的第一个词", "词条1的第二个词"] }, { "name" : "词表名称2", "words": [ "词条2的第一个词", "词条2的第二个词"] } 从以下版本开始:
version:1073
另请参阅:
SpeechRecognizer.updateLexicon(java.lang.String, java.lang.String, com.iflytek.cloud.LexiconListener)
,
ContactManager
构造器概要
构造器和说明 |
---|
UserWords()默认构造函数 |
UserWords(java.lang.String json) 构造函数 通过传入JSON格式字符串来初始化用户词表 |
方法概要
限定符和类型 | 方法和说明 |
---|---|
java.util.ArrayList<java.lang.String>
|
getKeys()
获取键值 获取词表下的所有键值。
|
java.util.ArrayList<java.lang.String>
|
getWords()
获取词条 获取默认词组下的所有词条。
|
java.util.ArrayList<java.lang.String>
|
getWords(java.lang.String key)
获取词条 获取键名key下,对应所有用户词表。
|
boolean
|
hasKey(java.lang.String key)
是否包含某个键 是否包含名称为key的词表。
|
boolean
|
putWord(java.lang.String value)
添加词 向默认词组中增加一个value,key值为default。
|
boolean
|
putWord(java.lang.String key, java.lang.String value)
添加词 向key词组中增加一个value。
|
boolean
|
putWords(java.util.ArrayList<java.lang.String> words)
添加多个词 向默认词组中增加多个value,key值为default。
|
boolean
|
putWords(java.lang.String key, java.util.ArrayList<java.lang.String> words)
加多个词 向key词组中增加多个value。
|
java.lang.String
|
toString() 转为String 同toJson() |
从类继承的方法 java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
构造器详细资料
UserWords
public UserWords()
默认构造函数
UserWords(json)
public UserWords(java.lang.String json)
构造函数
通过传入JSON格式字符串来初始化用户词表
参数:
json
- 格式化的用户词表字符串。
方法详细资料
hasKey
public boolean hasKey(java.lang.String key)
是否包含某个键
是否包含名称为key的词表。
参数:
key
- 键名
返回:
false:否; true:是。
putWord
public boolean putWord(java.lang.String value)
添加词
向默认词组中增加一个value,key值为default。
参数:
value
- 需要插入的词条内容
返回:
true表示插入成功,false表示失败
putWord(词条内容)
public boolean putWord(java.lang.String key,
java.lang.String value)
添加词
向key词组中增加一个value。
参数:
key
- 需要插入的词组名称
value
- 需要插入的词条内容
putWords
public boolean putWords(java.util.ArrayList<java.lang.String> words)
添加多个词
向默认词组中增加多个value,key值为default。
参数:
**
words
- 需要插入的词条列表
返回:
true表示插入成功,false表示失败
putWords(多词条内容)
public boolean putWords(java.lang.String key,
java.util.ArrayList<java.lang.String> words)
添加多个词
向key词组中增加多个value。
参数:
key
- 需要插入的词组名称。
words
- 需要插入的词条内容。
返回:
true表示插入成功,false表示失败
getWords
public java.util.ArrayList<java.lang.String> getWords()
获取词条
获取默认词组下的所有词条。
返回:
默认词组的词条列表
getKeys
public java.util.ArrayList<java.lang.String> getKeys()
获取键值
获取词表下的所有键值。
返回:
词表下的所有键值
getWords(获取词条)
public java.util.ArrayList<java.lang.String> getWords(java.lang.String key)
获取词条
获取键名key下,对应所有用户词表。
参数:
key
- 需要获取的词组名称。
返回:
词条列表
toString
public java.lang.String toString()
转为String
同toJson()
覆盖:
toString
在类中
java.lang.Object
类VerifierUtil
public class VerifierUtil
extends java.lang.Object
身份认证辅助类
身份认证时,辅助生成声纹随机密码,或转换人脸认证图。
从以下版本开始:
version:1073
另请参阅:
FaceDetector
,
IdentityVerifier
构造器概要
构造器和说明 |
---|
VerifierUtil()
|
方法概要
限定符和类型 | 方法和说明 |
---|---|
static android.graphics.Bitmap
|
ARGB2Gray(android.graphics.Bitmap src)
ARGB彩图转灰度图 把输入的ARGB彩色图,转换并返回灰度图。
|
static java.lang.String
|
generateNumberPassword(int length)
生成随机密码 当使用随机密码方式验证时,需要先通过本函数,生成一个指定长度的随机密码, 用于验证时由用户读这个随机密码,服务器通过音频里面随机码及声纹特征是否一致, 验证是否是同一个用户。
|
static int
|
getBitmapsize(android.graphics.Bitmap bitmap)
获取bitmap大小 获取bitmap所占的字节数
|
从类继承的方法 java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
构造器详细资料
VerifierUtil
public VerifierUtil()
方法详细资料
generateNumberPassword
public static java.lang.String generateNumberPassword(int length)
生成随机密码
当使用随机密码方式验证时,需要先通过本函数,生成一个指定长度的随机密码, 用于验证时由用户读这个随机密码,服务器通过音频里面随机码及声纹特征是否一致, 验证是否是同一个用户。
参数:
length
- 随机字符串长度,当前只支持8位。
返回:
随机字符串
另请参阅:
IdentityVerifier.writeData(java.lang.String, java.lang.String, byte[\], int, int)
ARGB2Gray
public static android.graphics.Bitmap ARGB2Gray(android.graphics.Bitmap src)
ARGB彩图转灰度图
把输入的ARGB彩色图,转换并返回灰度图。
参数:
src
- ARGB彩图
返回:
灰度图
另请参阅:
IdentityVerifier.writeData(java.lang.String, java.lang.String, byte[\], int, int)
,
FaceDetector.detectGray(Bitmap)
getBitmapsize
public static int getBitmapsize(android.graphics.Bitmap bitmap)
获取bitmap大小
获取bitmap所占的字节数
参数:
bitmap
- 图形数据
返回:
所占的字节数
类VolumeUtil
public class VolumeUtil
extends java.lang.Object
音量计算辅助类
用于辅助计算pcm音频音量等。
从以下版本开始:
version:1073
构造器概要
构造器和说明 |
---|
[
VolumeUtil()
]
|
方法概要
限定符和类型 | 方法和说明 |
---|---|
static int
|
computeVolume(byte[] pcmFrame, int length)
计算pcm音频音量
|
从类继承的方法 java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
构造器详细资料
VolumeUtil
public VolumeUtil()
方法详细资料
computeVolume
public static int computeVolume(byte[] pcmFrame,
int length)
计算pcm音频音量
参数:
pcmFrame
- 音频数据帧,每个采样值长16bit。
length
- 数据长度,帧的字节数。
返回:
音量值[0-30]。
枚举Accelerometer.CLOCKWISE_ANGLE
-
- java.lang.Enum<Accelerometer.CLOCKWISE_ANGLE>
-
- com.iflytek.cloud.util.Accelerometer.CLOCKWISE_ANGLE
-
-
所有已实现的接口:
java.io.Serializable, java.lang.Comparable<Accelerometer.CLOCKWISE_ANGLE>
-
封闭类:
-
public static enum Accelerometer.CLOCKWISE_ANGLE
extends java.lang.Enum<Accelerometer.CLOCKWISE_ANGLE>
手机旋转角度
Deg0定义为横屏且主页键在右边,如下图所示:
┏━━━━━━━━┯━┓
┃╲╱╲╱╲╱╲╱┊□┃
┃╱╲╱╲╱╲╱╲┊○┃
┃╲╱╲╱╲╱╲╱┊↓┃
┗━━━━━━━━┷━┛
顺时针旋转后得到Deg90,即手机竖屏向上,主页键在下边,如下图所示
┏━━━━━┓
┃╲╱╲╱╲┃
┃╱╲╱╲╱┃
┃╲╱╲╱╲┃
┃╱╲╱╲╱┃
┃╲╱╲╱╲┃
┃╱╲╱╲╱┃
┠┄┄┄┄┄┨
┃←┊○┊□┃
┗━━━━━┛
枚举常量概要
枚举常量和说明 |
---|
Deg0 |
Deg180 |
Deg270 |
Deg90 |
方法概要
限定符和类型 | 方法和说明 |
---|---|
int
|
getValue()
获取值 获取枚举成员对应的方向int型值,如Deg90,对应值为1。
|
static Accelerometer.CLOCKWISE_ANGLE
|
valueOf(java.lang.String name)
返回带有指定名称的该类型的枚举常量。
|
static Accelerometer.CLOCKWISE_ANGLE[]
|
values()
按照声明该枚举类型的常量的顺序, 返回 包含这些常量的数组。
|
从类继承的方法 java.lang.Enum
compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
从类继承的方法 java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
枚举常量详细资料
Deg0
public static final Accelerometer.CLOCKWISE_ANGLE Deg0
Deg90
public static final Accelerometer.CLOCKWISE_ANGLE Deg90
Deg180
public static final Accelerometer.CLOCKWISE_ANGLE Deg180
Deg270
public static final Accelerometer.CLOCKWISE_ANGLE Deg270
方法详细资料
values
public static Accelerometer.CLOCKWISE_ANGLE[] values()
for (Accelerometer.CLOCKWISE_ANGLE c : Accelerometer.CLOCKWISE_ANGLE.values())
System.out.println(c);
返回:
按照声明该枚举类型的常量的顺序返回的包含这些常量的数组
valueOf
public static Accelerometer.CLOCKWISE_ANGLE valueOf(java.lang.String name)
返回带有指定名称的该类型的枚举常量。 字符串必须与用于声明该类型的枚举常量的 标识符 完全 匹配。(不允许有多余 的空格字符。)
参数:
name
- 要返回的枚举常量的名称。
返回:
返回带有指定名称的枚举常量 抛出:
java.lang.IllegalArgumentException
- 如果该枚举类型没有带有指定名称的常量
java.lang.NullPointerException
- 如果参数为空值
getValue
public int getValue()
获取值
获取枚举成员对应的方向int型值,如Deg90,对应值为1。
返回:
枚举成员对应的方向int型值
枚举ResourceUtil.RESOURCE_TYPE
-
- java.lang.Enum<ResourceUtil.RESOURCE_TYPE>
-
- com.iflytek.cloud.util.ResourceUtil.RESOURCE_TYPE
-
-
所有已实现的接口:
java.io.Serializable, java.lang.Comparable<ResourceUtil.RESOURCE_TYPE>
-
封闭类:
public static enum ResourceUtil.RESOURCE_TYPE extends java.lang.Enum<ResourceUtil.RESOURCE_TYPE>
-
资源路径类型
资源路径类型,即资源在移动设备(手机或平板)中存放位置的类型,在安卓平台上, 包括: APK包的assets目录:assets; APK包的res目录:res; SD卡的目录:path;
通过
ResourceUtil.generateResourcePath(android.content.Context, com.iflytek.cloud.util.ResourceUtil.RESOURCE_TYPE, java.lang.String)
生成路径时,根据类型不同, 在路径参数中,传入对应的值:
assets类型时,若资源存放位置为/assets/resource.jet,则在路径参数传入值为 "resource.jet";
res类型时,通过R类获取ID,并转换为
String
类型,如存放位 置为/res/raw/resource.jet,则在路径参数传入值为String.valueOf(R.raw.resource);
path类型时,直接传入对应的路径值,如存放位置为/sdcard/resource.jet,则 在路径参数传入值为"/sdcard/resource.jet";
另请参阅:
枚举常量概要
枚举常量和说明 |
---|
assets |
path |
res` |
方法概要
限定符和类型 | 方法和说明 |
---|---|
static ResourceUtil.RESOURCE_TYPE
|
valueOf(java.lang.String name)
返回带有指定名称的该类型的枚举常量。
|
static ResourceUtil.RESOURCE_TYPE[]
|
values()
按照声明该枚举类型的常量的顺序, 返回 包含这些常量的数组。
|
从类继承的方法 java.lang.Enum
compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
从类继承的方法 java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
枚举常量详细资料
assets
public static final ResourceUtil.RESOURCE_TYPE assets
res
public static final ResourceUtil.RESOURCE_TYPE res
path
public static final ResourceUtil.RESOURCE_TYPE path
方法详细资料
values
public static ResourceUtil.RESOURCE_TYPE[] values()
for (ResourceUtil.RESOURCE_TYPE c : ResourceUtil.RESOURCE_TYPE.values())
System.out.println(c);
返回:
按照声明该枚举类型的常量的顺序返回的包含这些常量的数组
valueOf
public static ResourceUtil.RESOURCE_TYPE valueOf(java.lang.String name)
返回带有指定名称的该类型的枚举常量。 字符串必须与用于声明该类型的枚举常量的 标识符 完全 匹配。(不允许有多余 的空格字符。)
参数:
name
- 要返回的枚举常量的名称。
返回:
返回带有指定名称的枚举常量
抛出:
java.lang.IllegalArgumentException
- 如果该枚举类型没有带有指定名称的常量
java.lang.NullPointerException
- 如果参数为空值