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()获取已创建的单例对象。

覆盖:

参数:

  • context - 应用上下文
  • param - 初始化参数 包括:LIBRARY:编码库; MODE:编码模式;

返回: 编解码对象

另请参阅: 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的对象

另请参阅:

getManager(), destroy()

静态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_PATHASR_RES_PATHSpeechConstant.IVW_RES_PATHSpeechConstant.IVW_ENROLL_RES_PATH

2,通过SpeechUtility.setParameter(String, String)加载,通过 设置ENGINE_START参数,并根据业务不同,指定以下一个或多个的资源路径参数: TTS_RES_PATHASR_RES_PATHSpeechConstant.IVW_RES_PATHSpeechConstant.IVW_ENROLL_RES_PATH

3,通过各业务开始会话的函数加载,通过各业务的setParameter函数,如 SpeechRecognizer.setParameter(String, String),根据业务不同, 设置以下资源路径参数中的一个: TTS_RES_PATHASR_RES_PATHSpeechConstant.IVW_RES_PATHSpeechConstant.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>

    • 封闭类:

      Accelerometer

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>

    • 封闭类:

      ResourceUtil


    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";

另请参阅:

ResourceUtil.generateResourcePath(android.content.Context, com.iflytek.cloud.util.ResourceUtil.RESOURCE_TYPE, java.lang.String)

枚举常量概要

枚举常量和说明
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 - 如果参数为空值