# 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 (opens new window)

# 类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 (opens new window)(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"}

另请参阅: 常量字段值 (opens new window)

# LEVEL

public static final java.lang.String LEVEL

编码等级

编码等级,指编码时,压缩的等级。解码时不必指定。 speex:[0, 10],默认0;

是否必须设置:是(编码时)

默认值:0

值范围:[0, 10]

另请参阅: 常量字段值 (opens new window)

# MODE

public static final java.lang.String MODE

编码模式

是否是宽带模式(仅在speex库中支持)。

是否必须设置:否

默认值:0

值范围:{0, 1}

另请参阅: 常量字段值 (opens new window)

# MAX_BUF_LEN

public static final int MAX_BUF_LEN

常量值:最大缓存大小

编解码音频时,应用层一次传入音频的最大字节大小。 当一次传入最大音频字节大于此值时,可能导致编解码失败。 同时,编解码后返回的音频可能会大于或小于此值。

另请参阅: encode(byte[], int, int, boolean), decode(byte[], int, int, boolean), 常量字段值 (opens new window)

# 方法详细资料

# 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 (opens new window)

# 构造器详细资料

# 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 (opens new window)

不会上传联系人的电话号码,请放心使用。您也可以自己实现对联系人名字获取,再通过 SpeechRecognizer.updateLexicon(java.lang.String, java.lang.String, com.iflytek.cloud.LexiconListener) (opens new window)上传更新即可。

通过些功能获取系人时,应用需拥有以下权限: 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) (opens new window)初始化SDK时加载,通过 设置ENGINE_START参数,并根据业务不同,指定以下一个或多个的资源路径参数: TTS_RES_PATHASR_RES_PATHSpeechConstant.IVW_RES_PATH (opens new window)SpeechConstant.IVW_ENROLL_RES_PATH (opens new window)

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

3,通过各业务开始会话的函数加载,通过各业务的setParameter函数,如 SpeechRecognizer.setParameter(String, String) (opens new window),根据业务不同, 设置以下资源路径参数中的一个: TTS_RES_PATHASR_RES_PATHSpeechConstant.IVW_RES_PATH (opens new window)SpeechConstant.IVW_ENROLL_RES_PATH (opens new window)

在同一业务,新的资源加载后,上一个资源将自动被释放。如合成中,如果各发音人资源文件是 分开的,则在加载当前发音人资源后,上一发音人资源将自动被释放。如果要释放当前的资源, 而不加载新的资源,需要同时销毁离线引擎,有以下三种方式:

1,通过SpeechUtility.setParameter(String, String) (opens new window),设置参数 ENGINE_DESTROY即可。

2,通过各业务的destory函数销毁: SpeechRecognizer.destroy() (opens new window)SpeechSynthesizer.destroy() (opens new window)VoiceWakeuper.destroy() (opens new window)

3,通过SpeechUtility.destroy() (opens new window)销毁。

另外,在应用退出后,所有应用相关的资源会被销毁。因为销毁引擎后,重新启动引擎的时间要比 直接更换资源长(会使首次会话的时间变长),所以如果仅是短暂的停止使用,建议不需要销毁资源。

从以下版本开始:

version:1073

另请参阅:

SpeechConstant.ENGINE_TYPE (opens new window), SpeechConstant.IVW_RES_PATH (opens new window), SpeechConstant.IVW_ENROLL_RES_PATH (opens new window), SpeechUtility.createUtility(android.content.Context, java.lang.String) (opens new window), SpeechUtility.setParameter(java.lang.String, java.lang.String) (opens new window), SpeechRecognizer.setParameter(String, String) (opens new window),SpeechSynthesizer.setParameter(String, String) (opens new window), VoiceWakeuper.setParameter(String, String) (opens new window)

# 嵌套类概要

限定符和类型 类和说明
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) (opens new window)设置此参数 以销毁引擎,并释放资源内存。
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 (opens new window) 识别:SpeechConstant.ENG_ASR (opens new window) 唤醒:SpeechConstant.ENG_IVW (opens new window)

是否必须设置:是(在首次使用离线功能时)

默认值:null

值范围:见上文

另请参阅: ENGINE_DESTROY,常量字段值。

# ENGINE_DESTROY

public static final java.lang.String ENGINE_DESTROY

# 销毁引擎

通过调用SpeechUtility.setParameter(String, String) (opens new window)设置此参数 以销毁引擎,并释放资源内存。(通过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 (opens new window),值为资源中包含的 其中一个发音人名参数。

是否必须设置:是(离线合成时)

默认值:null

值范围:见上文说明

另请参阅:

ASR_RES_PATH, 常量字段值。

# IVW_RES_PATH

public static final java.lang.String IVW_RES_PATH

# 唤醒资源路径

唤醒需要使用本地资源,通过此参数设置本地资源所在的路径。多个资源间,以英文分号";"分隔。 与SpeechConstant.IVW_ENROLL_RES_PATH (opens new window)一样,用于使用的资源,需要通过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 (opens new window), //@see com.iflytek.cloud.VoiceWakeuper#updateWords(String, String) (opens new window), 常量字段值。

# 构造器详细资料

# 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) (opens new window)。 关于联系人列表获取,参考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) (opens new window), 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 (opens new window), IdentityVerifier (opens new window)

# 构造器概要

构造器和说明
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) (opens new window)

# 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) (opens new window), FaceDetector.detectGray(Bitmap) (opens new window)

# 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 - 如果参数为空值

在线
咨询
建议
反馈
体验
中心