语音唤醒(Wakeuper)
#类VoiceWakeuper
java.lang.Object
com.iflytek.cloud.msc.module.SpeechInterface
com.iflytek.cloud.VoiceWakeuper
public class VoiceWakeuper extends com.iflytek.cloud.msc.module.SpeechInterface
#语音唤醒类
SpeechUtility.createUtility(android.content.Context, java.lang.String)
#嵌套类概要
从类继承的嵌套类/接口 com.iflytek.cloud.msc.module.SpeechInterface |
---|
com.iflytek.cloud.msc.module.SpeechInterface.ENGINE_MODE |
#方法概要
#所有方法
限定符和类型 | 方法和说明 |
---|---|
void | cancel() 取消会话 通过此函数取消当前的会话。 |
static VoiceWakeuper | createWakeuper(android.content.Context context, InitListener listener) 创建单例对象 使用此函数创建一个本类单例对象。 |
boolean | destroy() 销毁单例对象 通过本函数,销毁由createWakeuper(android.content.Context, com.iflytek.cloud.InitListener)创建的单例对象。 |
int | downloadResource(java.lang.String downloadUrl, java.lang.String filePath, java.lang.String fileMd5, FileDownloadListener listener) 下载唤醒词资源 调用此函数,通过参数传入下载url和文件保存路径,可下载资源至相应路径目录下。 |
java.lang.String | getParameter(java.lang.String key) 获取参数 获取指定的参数的当前值。 |
static VoiceWakeuper | getWakeuper() 获取单例对象 通过函数获取已创建的单例对象。 |
boolean | isListening() 是否在会话中 通过此函数,获取当前SDK是否正在进行会话。 |
int | queryResource(java.lang.String resourcePath, RequestListener listener) 查询唤醒词资源 调用此函数,查询唤醒词优化资源,能够查询的前提是应用开启唤醒闭环优化, 并且云端成功训练出唤醒词优化资源,调用此函数发送查询请求,若有优化的模型 资源,会返回开发者相应的资源下载链接,如果开发者未开启唤醒闭环优化功能, 此函数会通过回调监听返回相应错误码 调用此函数仅仅模型查询,下载模型资源请参考downloadResource(java.lang.String, java.lang.String, java.lang.String, com.iflytek.cloud.util.FileDownloadListener) 注:该接口仅加强型支持,基础性暂无优化功能 |
boolean | setParameter(java.lang.String key, java.lang.String value) 参数设置 可设置的参数有: SpeechConstant.IVW_SST:唤醒类务类型,必须; SpeechConstant.IVW_THRESHOLD:唤醒门限值; SpeechConstant.KEEP_ALIVE:持续唤醒; SpeechConstant.IVW_RES_PATH:唤醒资源路径,必须; SpeechConstant.ENGINE_TYPE:引擎类型;(在唤醒里,引擎类型 仅作用于唤醒识别时的识别部分,而唤醒部分始终在离线模式。) |
int | startListening(WakeuperListener listener) 开始录音 调用此函数,开始唤醒和注册会话。 |
void | stopListening() 停止录音 调用本函数告知SDK,当前会话音频已全部录入。 |
int | [writeAudio(byte] buffer, int offset, int length) 写入录音数据 通过调用此函数,把音频数据传给SDK。 |
从类继承的方法 com.iflytek.cloud.msc.module.SpeechInterface |
---|
setParameter |
从类继承的方法 java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
#方法详细资料
#createWakeuper
public static VoiceWakeuper createWakeuper(android.content.Context context,
InitListener listener)
唤醒对象
destroy(), getWakeuper()
#getWakeuper
public static VoiceWakeuper getWakeuper()
通过函数获取已创建的单例对象。当单例对象未创建时,将返回null,此时应先通过createWakeuper(android.content.Context, com.iflytek.cloud.InitListener)创建单 例对象。
唤醒对象
createWakeuper(android.content.Context, com.iflytek.cloud.InitListener), destroy()
#queryResource
调用此函数,查询唤醒词优化资源,能够查询的前提是应用开启唤醒闭环优化, 并且云端成功训练出唤醒词优化资源,调用此函数发送查询请求,若有优化的模型 资源,会返回开发者相应的资源下载链接,如果开发者未开启唤醒闭环优化功能, 此函数会通过回调监听返回相应错误码
resourcePath - 唤醒资源路径
listener - 查询回调监听
是否启动查询成功,ErrorCode.SUCCESS表示成功,其他值表示有错误, 具体错误码,请参考ErrorCode 。
downloadResource(java.lang.String, java.lang.String, java.lang.String, com.iflytek.cloud.util.FileDownloadListener)
#downloadResource
public int downloadResource(java.lang.String downloadUrl,
java.lang.String filePath,
java.lang.String fileMd5,
FileDownloadListener listener)
调用此函数,通过参数传入下载url和文件保存路径,可下载资源至相应路径目录下。 并通过回调监听返回当前资 源的下载状态
downloadUrl - 资源下载链接
filePath - 下载文件保存路径
fileMd5 - 资源md5值,用于检验
listener - 文件下载回调监听
是否启动下载成功,ErrorCode.SUCCESS表示成功,其他值表示有错误, 具体错误码,请参考ErrorCode 。
queryResource(java.lang.String, com.iflytek.cloud.RequestListener)
#startListening
public int startListening(WakeuperListener listener)
调用此函数,开始唤醒和注册会话。
#writeAudio
public int writeAudio(byte[] buffer,
int offset,
int length)
通过调用此函数,把音频数据传给SDK。
buffer - 要写入的录音数据缓存
offset - 实际音频在传入缓存的起始点
length - 音频数据长度
是否成功写入数据,ErrorCode.SUCCESS表示成功,其他值表示有错误, 具体错误码,请参考ErrorCode 。
startListening(com.iflytek.cloud.WakeuperListener), stopListening(), WakeuperListener
#stopListening
public void stopListening()
调用本函数告知SDK,当前会话音频已全部录入。
#isListening
public boolean isListening()
通过此函数,获取当前SDK是否正在进行会话。应用层可通过此函数,查询能否 开始一路新的会话等。
会话状态,true:正在会话中;false:不在会话中。
startListening(com.iflytek.cloud.WakeuperListener), stopListening(), cancel()
#cancel
public void cancel()
通过此函数取消当前的会话。
#setParameter
public boolean setParameter(java.lang.String key,
java.lang.String value)
可设置的参数有:
SpeechConstant.IVW_SST: 唤醒类务类型,必须;
SpeechConstant.IVW_THRESHOLD: 唤醒门限值;
SpeechConstant.KEEP_ALIVE: 持续唤醒;
SpeechConstant.IVW_RES_PATH: 唤醒资源路径,必须;
SpeechConstant.ENGINE_TYPE: 引擎类型;(在唤醒里,引擎类型 仅作用于唤醒识别时的识别部分,而唤醒部分始终在离线模式。)
SpeechConstant.IVW_NET_MODE: 唤醒闭环优化模式;
SpeechConstant.SAMPLE_RATE: 唤醒音频采样率;
SpeechConstant.LOCAL_GRAMMAR: 本地语法ID;
SpeechConstant.AUDIO_SOURCE: 音频源,使用 AIMIC 时必须;
SpeechConstant.BLUETOOTH: 蓝牙录音
SpeechConstant.RESULT_TYPE: 识别结果类型;
SpeechConstant.KEY_REQUEST_FOCUS: 音频焦点;
SpeechConstant.IVW_CHANNEL_NUM: 唤醒音频路数,使用 AIMIC 时必须;
SpeechConstant.IVW_AUDIO_PATH: 唤醒音频保存路径;
SpeechConstant.IVW_ALSA_CARD: ALSA 录音卡号;
SpeechConstant.IVW_ALSA_RATE: ALSA 录音采样率;
目前唤醒仅支持未压缩的16位,单声道,采样率为16000,字节顺序为 Little-Endian的Windows PCM音频。另参考SpeechConstant.IVW_ALSA_RATE 说明。
唤醒识别若使用本地识别时,需要有相应的资源文件才支持对应的采样率的音频识别。
setParameter 在类中 com.iflytek.cloud.msc.module.SpeechInterface
key - 参数名称
value - 参数值
true 设置成功,否则设置失败
startListening(com.iflytek.cloud.WakeuperListener), getParameter(java.lang.String)
#getParameter
public java.lang.String getParameter(java.lang.String key)
获取指定的参数的当前值。
getParameter 在类中 com.iflytek.cloud.msc.module.SpeechInterface
key - 参数名称,所有支持参数,参考setParameter(String, String)
参数值,值意义,参考SpeechConstant对各参数的说明。
setParameter(String, String)
#destroy
public boolean destroy()
通过本函数,销毁由createWakeuper(android.content.Context, com.iflytek.cloud.InitListener)创建的单例对象。
destroy 在类中 com.iflytek.cloud.msc.module.SpeechInterface
销毁成功:true;销毁失败:false。
createWakeuper(android.content.Context, com.iflytek.cloud.InitListener), cancel()
#类WakeuperResult
java.lang.Object
com.iflytek.cloud.WakeuperResult
android.os.Parcelable
public class WakeuperResult
extends java.lang.Object
implements android.os.Parcelable
#唤醒结果类
#嵌套类概要
从接口继承的嵌套类/接口 android.os.Parcelable |
---|
android.os.Parcelable.ClassLoaderCreator<T>, android.os.Parcelable.Creator<T> |
#字段概要
限定符和类型 | 字段和说明 |
---|---|
static android.os.Parcelable.Creator<WakeuperResult> | CREATOR |
从接口继承的字段 android.os.Parcelable |
---|
CONTENTS_FILE_DESCRIPTOR, PARCELABLE_WRITE_RETURN_VALUE |
#构造器概要
构造器和说明 |
---|
WakeuperResult(android.os.Parcel in) |
WakeuperResult(java.lang.String result) 构造函数 应用层只通过WakeuperListener.onResult(com.iflytek.cloud.WakeuperResult)得到结果,可忽略此类的构造函数。 |
WakeuperResult(java.lang.String result, byte[] buffer) |
#方法概要
限定符和类型 | 方法和说明 |
---|---|
int | describeContents() |
byte[] | getBuffer() 获取唤醒音频 唤醒音频,仅在SpeechConstant.IVW_CHANNEL_NUM大于0时, 有意义,其他时侯为null。 |
java.lang.String | getResultString() 获取唤醒结果 结果各参数请参考类说明。 |
void | writeToParcel(android.os.Parcel dest, int flags) |
从类继承的方法 java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
#字段详细资料
#CREATOR
public static final android.os.Parcelable.Creator<WakeuperResult> CREATOR