这里介绍的是Android API关于工具类(util)的相关说明,点击右侧目录可快速找到相应文件。
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) 联系人查询结束通过此接口,获取查询结果。 |
void onContactQueryFinish(java.lang.String contactInfos,
boolean changeFlag)
联系人查询结束
通过此接口,获取查询结果。在调用ContactManager.asyncQueryAllContactsName()开始查询后,将通过此函数返回一次结果。如果随后联系人或通话记录有变化,此函数将再次回调,并通过参数2告知是否是联系或通话记录有变化。
参数:
另请参阅: ContactManager.createManager(android.content.Context,com.iflytek.cloud.util.ContactManager.ContactListener),ContactManager.asyncQueryAllContactsName(),ContactManager.queryAllContactsName()
com.iflytek.cloud.util
public interface FileDownloadListener
通过实现此接口,获取当前文件下载的进度、状态和结果
限定符和类型 | 字段和说明 |
---|---|
void | onCompleted(java.lang.String filePath, SpeechError error) 下载完成回调 回调此函数时,下载任务完成。 |
void | onProgress(int percent) 下载进度回调 回调此函数时,下将返回载任务的进度信息,用于显示当前任务进度,已换算成百分制 |
void | onStart() 下载启动回调 回调此函数时,下载任务已启动下载 |
void onStart()
下载启动回调
回调此函数时,下载任务已启动下载
void onProgress(int percent)
下载进度回调
回调此函数时,下将返回载任务的进度信息,用于显示当前任务进度,已换算成百分制
参数:
void onCompleted(java.lang.String filePath,
SpeechError error)
下载完成回调
回调此函数时,下载任务完成。若下载成功回到文件绝对路径,若会话有错误, 则通过参数2返回错误信息。
参数:
另请参阅: SpeechError
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
public Accelerometer(android.content.Context ctx)
构造函数
构造一个实例。
参数:
public void start()
开始监听传感器
调用此函数,开始监听重力传感器。监听开始后,可通过getDirection()获取当前手机的转向。通过stop()停止监听。
另请参阅: stop(), getDirection()
public void stop()
结束传感器监听
结束监听重力传感器后,无法再获取当前手机的转向。可通过start()再次 开启重力传感器监听。
另请参阅: start()
public static int getDirection()
返回当前手机转向
调用此函数,获取当前手机的转向,返回的值为Accelerometer.CLOCKWISE_ANGLE.getValue()的值。通过此函数获取转向前,应该先通过start()开始监听。
返回: 转向值,参考Accelerometer.CLOCKWISE_ANGLE.getValue()的值
另请参阅: start(), Accelerometer.CLOCKWISE_ANGLE.getValue()
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
public static final java.lang.String LIBRARY
编解码库
编解码库指编码或解码时,用到的库,目前支持以下编解码库:speex。 在编码时,可以指定任意支持的编码库,但在解码时,必须指定待解码音频格式一致的的解码库,否则解码失败,或结果音频与预想的不一致。
是否必须设置:是
默认值:"speex"
值范围:{"speex"}
另请参阅: 常量字段值
public static final java.lang.String LEVEL
编码等级
编码等级,指编码时,压缩的等级。解码时不必指定。 speex:[0, 10],默认0;
是否必须设置:是(编码时)
默认值:0
值范围:[0, 10]
另请参阅: 常量字段值
public static final java.lang.String MODE
编码模式
是否是宽带模式(仅在speex库中支持)。
是否必须设置:否
默认值:0
值范围:{0, 1}
另请参阅: 常量字段值
public static final int MAX_BUF_LEN
常量值:最大缓存大小
编解码音频时,应用层一次传入音频的最大字节大小。 当一次传入最大音频字节大于此值时,可能导致编解码失败。 同时,编解码后返回的音频可能会大于或小于此值。
另请参阅: encode(byte[], int, int, boolean), decode(byte[], int, int, boolean), 常量字段值
public static AudioCoder createCoder(android.content.Context context,
java.lang.String param)
创建单例对象
使用此函数创建一个本类单例对象。当成功创建一次单例对象后,可一直使用此对象, 直到调用destroy()销毁已创建的单例对象为止。若在当前应用生命周期内调用destroy()前再次调用本函数,则直接返回已创建的单例对象。可通过 getCoder()获取已创建的单例对象。
覆盖:
参数:
返回: 编解码对象
public static AudioCoder getCoder()
获取单例对象
通过函数获取已创建的单例对象。当单例对象未创建时,将返回null,此时应先通过 createCoder(android.content.Context, java.lang.String)创建单例对象。
返回: 编解码对象
另请参阅: createCoder(android.content.Context, java.lang.String), 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
public abstract AudioCoder.CoderResult encode(byte[] buffer,
int offset,
int length,
boolean isLast)
编码
通过在参数中,填充待编码音频数据,及其他相关的数据信息。参考AudioCoder.CoderResult。
每次传入的数据长度,应为1帧音频大小的整数倍,如音频为16位、单声道的Windows PCM音频时,则数据长度应为16/8=2字节的整数倍。
此函数将把音频数据编码后,同步通过返回值返回,将阻塞当前线程。
参数:
返回: 已编码数据
public abstract AudioCoder.CoderResult decode(byte[] buffer,
int offset,
int length,
boolean isLast)
解码
通过在参数中,填充待解码音频数据,及其他相关的数据信息。参考AudioCoder.CoderResult。
每次传入的数据长度,应为1帧音频大小的整数倍。
此函数将把音频数据解码后,同步通过返回值返回,将阻塞当前线程。
参数:
返回: 已解码数据
public abstract void setParameter(java.lang.String key,
java.lang.String value)
设置参数
在编解码前,可设置编解码的参数,包括:LEVEL:编码等级;
参数:
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
public byte[] buffer
音频数据缓存
存放音频数据的内存空间。
值类型:byte[]
值域:{null, 对应的数据数组}
public int offset
数据偏移
指定#dataBuf有效数据开始位置,相对当前数组开始位置的偏移大小。
值类型:int
值域:[0, +∞]
public int length
数据长度
数据长度,指定#dataBuf中有效的数据的长度。 bufLen <= dataBuf.length - offset。
值类型:int
值域:[0, +∞]
public int error
错误信息
当此值不为0时,表示出现错误。
值类型:int
值域:(-∞, +∞)
另请参阅: ErrorCode
public CoderResult()
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
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)
public static ContactManager createManager(android.content.Context context,
ContactManager.ContactListener contactListener)
创建实例
使用此函数创建一个本类单例对象。当成功创建一次单例对象后,可一直使用此对象, 直到调用destroy()销毁已创建的单例对象为止。若在当前应用生命周期内调用 destroy()前再次调用本函数,则直接返回已创建的单例对象。可通过 getManager()获取已创建的单例对象。
参数: context - 应用上下文
contactListener - 查询联系人监听器,用以获取查询结果
返回:
ContactManager的对象
另请参阅:
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)
public abstract java.lang.String queryAllContactsName()
同步查询联系人名
同步查询,直接通过函数返回联系人名,会有一定的线程阻塞时间。
返回
联系人名称,格式说明请参考本类说明
另请参阅:
asyncQueryAllContactsName(), getManager()
public abstract void asyncQueryAllContactsName()
异步查询联系人名
异步查询,通过ContactManager.ContactListener返回查询结果,不会阻塞调用线程。 查询状态和结果监听器ContactManager.ContactListener设置,参考 createManager(android.content.Context, com.iflytek.cloud.util.ContactManager.ContactListener)。
返回
联系人名称,格式说明请参考本类说明
另请参阅:
queryAllContactsName(), getManager(), ContactManager.ContactListener
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要求的路径值,用于各业务离线功能时,传入资源路径。 |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
public static final java.lang.String ENGINE_START
通过设置此参数,启动离线引擎。在离线功能使用时,首次设置资源路径时,需要设置此参 数启动引擎。关于设置的方式,参考类说明。
启动引擎参数值因业务类型而异:
合成:SpeechConstant.ENG_TTS
识别:SpeechConstant.ENG_ASR
唤醒:SpeechConstant.ENG_IVW
是否必须设置:是(在首次使用离线功能时)
默认值:null
值范围:见上文
另请参阅: ENGINE_DESTROY
,常量字段值。
public static final java.lang.String ENGINE_DESTROY
通过调用SpeechUtility.setParameter(String, String)
设置此参数 以销毁引擎,并释放资源内存。(通过destory函数销毁引擎时,则不需要设置此参数,参考类说明)
是否必须设置:否
默认值:null
值范围:参考ENGINE_START
说明
另请参阅:
ENGINE_START
, 常量字段值。
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
, 常量字段值。
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
值范围:有效的文件夹径值(含文件名)
另请参阅:
常量字段值
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
, 常量字段值。
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)
, 常量字段值。
public ResourceUtil()
public static java.lang.String generateResourcePath(android.content.Context context,
ResourceUtil.RESOURCE_TYPE type,
java.lang.String path)
传入不同类型的路径值,生成SDK要求的路径值,用于各业务离线功能时,传入资源路径。
参数: context
- 应用上下文
type
- 资源路径类型
path
- 原资源路径
返回:
SDK要求的资源路径值
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() |
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
public UserWords()
public UserWords(java.lang.String json)
构造函数
通过传入JSON格式字符串来初始化用户词表
参数:
json
- 格式化的用户词表字符串。
public boolean hasKey(java.lang.String key)
是否包含名称为key的词表。
参数:
key
- 键名
返回:
false:否; true:是。
public boolean putWord(java.lang.String value)
向默认词组中增加一个value,key值为default。
参数: value
- 需要插入的词条内容
返回:
true表示插入成功,false表示失败
public boolean putWord(java.lang.String key,
java.lang.String value)
向key词组中增加一个value。
参数:
key
- 需要插入的词组名称
value
- 需要插入的词条内容
public boolean putWords(java.util.ArrayList<java.lang.String> words)
向默认词组中增加多个value,key值为default。
参数:
**words
- 需要插入的词条列表
返回:
true表示插入成功,false表示失败
public boolean putWords(java.lang.String key,
java.util.ArrayList<java.lang.String> words)
向key词组中增加多个value。
参数: key
- 需要插入的词组名称。
words
- 需要插入的词条内容。
返回:
true表示插入成功,false表示失败
public java.util.ArrayList<java.lang.String> getWords()
获取默认词组下的所有词条。
返回:
默认词组的词条列表
public java.util.ArrayList<java.lang.String> getKeys()
获取词表下的所有键值。
返回:
词表下的所有键值
public java.util.ArrayList<java.lang.String> getWords(java.lang.String key)
获取键名key下,对应所有用户词表。
参数:
key
- 需要获取的词组名称。
返回:
词条列表
public java.lang.String toString()
同toJson()
覆盖:
toString
在类中 java.lang.Object
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所占的字节数 |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
public VerifierUtil()
public static java.lang.String generateNumberPassword(int length)
当使用随机密码方式验证时,需要先通过本函数,生成一个指定长度的随机密码, 用于验证时由用户读这个随机密码,服务器通过音频里面随机码及声纹特征是否一致, 验证是否是同一个用户。
参数:
length
- 随机字符串长度,当前只支持8位。
返回:
随机字符串
另请参阅:
IdentityVerifier.writeData(java.lang.String, java.lang.String, byte[\], int, int)
public static android.graphics.Bitmap ARGB2Gray(android.graphics.Bitmap src)
把输入的ARGB彩色图,转换并返回灰度图。
参数:
src
- ARGB彩图
返回:
灰度图
另请参阅:
IdentityVerifier.writeData(java.lang.String, java.lang.String, byte[\], int, int)
,
FaceDetector.detectGray(Bitmap)
public static int getBitmapsize(android.graphics.Bitmap bitmap)
获取bitmap所占的字节数
参数:
bitmap
- 图形数据
返回:
所占的字节数
public class VolumeUtil
extends java.lang.Object
用于辅助计算pcm音频音量等。
从以下版本开始:
version:1073
构造器和说明 |
---|
[VolumeUtil() ] |
限定符和类型 | 方法和说明 |
---|---|
static int | computeVolume(byte[] pcmFrame, int length) 计算pcm音频音量 |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
public VolumeUtil()
public static int computeVolume(byte[] pcmFrame,
int length)
参数:
pcmFrame
- 音频数据帧,每个采样值长16bit。
length
- 数据长度,帧的字节数。
返回:
音量值[0-30]。
所有已实现的接口:
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() 按照声明该枚举类型的常量的顺序, 返回 包含这些常量的数组。 |
compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
getClass, notify, notifyAll, wait, wait, wait
public static final Accelerometer.CLOCKWISE_ANGLE Deg0
public static final Accelerometer.CLOCKWISE_ANGLE Deg90
public static final Accelerometer.CLOCKWISE_ANGLE Deg180
public static final Accelerometer.CLOCKWISE_ANGLE Deg270
public static Accelerometer.CLOCKWISE_ANGLE[] values()
for (Accelerometer.CLOCKWISE_ANGLE c : Accelerometer.CLOCKWISE_ANGLE.values())
System.out.println(c);
返回:
按照声明该枚举类型的常量的顺序返回的包含这些常量的数组
public static Accelerometer.CLOCKWISE_ANGLE valueOf(java.lang.String name)
返回带有指定名称的该类型的枚举常量。 字符串必须与用于声明该类型的枚举常量的 标识符完全匹配。(不允许有多余 的空格字符。)
参数:
name
- 要返回的枚举常量的名称。
返回:
返回带有指定名称的枚举常量 抛出:
java.lang.IllegalArgumentException
- 如果该枚举类型没有带有指定名称的常量
java.lang.NullPointerException
- 如果参数为空值
public int getValue()
获取枚举成员对应的方向int型值,如Deg90,对应值为1。
返回:
枚举成员对应的方向int型值
所有已实现的接口:
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() 按照声明该枚举类型的常量的顺序, 返回 包含这些常量的数组。 |
compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
getClass, notify, notifyAll, wait, wait, wait
public static final ResourceUtil.RESOURCE_TYPE assets
public static final ResourceUtil.RESOURCE_TYPE res
public static final ResourceUtil.RESOURCE_TYPE path
public static ResourceUtil.RESOURCE_TYPE[] values()
for (ResourceUtil.RESOURCE_TYPE c : ResourceUtil.RESOURCE_TYPE.values())
System.out.println(c);
返回:
按照声明该枚举类型的常量的顺序返回的包含这些常量的数组
public static ResourceUtil.RESOURCE_TYPE valueOf(java.lang.String name)
返回带有指定名称的该类型的枚举常量。 字符串必须与用于声明该类型的枚举常量的 标识符完全匹配。(不允许有多余 的空格字符。)
参数:
name
- 要返回的枚举常量的名称。
返回:
返回带有指定名称的枚举常量
抛出:
java.lang.IllegalArgumentException
- 如果该枚举类型没有带有指定名称的常量
java.lang.NullPointerException
- 如果参数为空值