Android 基础类

这里介绍的是Android API关于基础类的相关说明,点击右侧目录可快速找到相应文件。

接口RequestListener

public interface RequestListener

数据请求监听器

通过实现此接口,获取请求的状态和结果

方法概要

限定符和类型 方法和说明
void onBufferReceived(byte[] buffer)结果数据回调 此函数可能回调多次,但在onCompleted(com.iflytek.cloud.SpeechError)回调错误时,将不回调此函数。
void onCompleted(SpeechError error)结束回调 回调此函数时,会话完成,若会话有错误,则通过参数1返回错误信息。
void onEvent(int eventType, android.os.Bundle params)事件回调 用于接收扩展事件消息的函数。

方法详细资料

onEvent

void onEvent(int eventType,
             android.os.Bundle params)

事件回调

用于接收扩展事件消息的函数。请参考SpeechEvent类。

参数:
eventType - 消息类型,参考SpeechEvent类的事件ID。
params - 消息数据对象,对象内容因事件而异,参考 SpeechEvent类的事件说明。

另请参阅: SpeechEvent

onBufferReceived

void onBufferReceived(byte[] buffer)

结果数据回调

此函数可能回调多次,但在onCompleted(com.iflytek.cloud.SpeechError)回调错误时,将不回调此函数。

参数:
buffer - 服务端返回的二进制数据,数据内各键值,请参考科大讯飞MSC集成指南

另请参阅: onCompleted(com.iflytek.cloud.SpeechError)

onCompleted

void onCompleted(SpeechError error)

结束回调

回调此函数时,会话完成,若会话有错误,则通过参数1返回错误信息。

参数:
error - 错误信息,会话正常时,error值为null。

另请参阅: SpeechError

接口SpeechListener

public interface SpeechListener

通用回调接口

通用回调接口用于数据上传等,非特定业务的会话回调,如个性化数据上传等。 同一个函数,在不同的业务中回调的数据将可能代表不一样的意义。

方法概要

限定符和类型 方法和说明
void onBufferReceived(byte[] buffer)数据回调 数据回调,根据业务类型不同,可能回调多次,也可能一次也不回调。
void onCompleted(SpeechError error)结束回调 回调本函数时,当前监听的会话结束。
void onEvent(int eventType, android.os.Bundle params)事件回调 事件回调通过应用层相关的事件消息,根据不同的业务,回调的事件类型 可能不一样。

方法详细资料

onEvent

void onEvent(int eventType,
             android.os.Bundle params)

事件回调

事件回调通过应用层相关的事件消息,根据不同的业务,回调的事件类型 可能不一样。

参数:
eventType - 消息类型
params - 消息数据对象

另请参阅: SpeechEvent

onBufferReceived

void onBufferReceived(byte[] buffer)

数据回调

数据回调,根据业务类型不同,可能回调多次,也可能一次也不回调。

参数:
buffer - 服务端返回的数据,如在声纹获取密码时,表示密码数据。

onCompleted

void onCompleted(SpeechError error)

结束回调

回调本函数时,当前监听的会话结束。当本函数的参数1非null时,表示当前 会话有错误,具体错误参考SpeechError;当参数1为null时,表示当前 会话成功。

参数:
error - 错误信息

另请参阅: SpeechError

类Setting

ava.lang.Object com.iflytek.cloud.Setting

public class Setting extends java.lang.Object

设置

设置是否显示控制台日志,是否保存共享库调试日志等。

SDK会打印两种日志:Msc.jar的控制台日志,及libmsc.so的共享库日志。

嵌套类概要

限定符和类型 类和说明
static class Setting.LOG_LEVEL
日志级别 日志按重要程度区分了级别。

字段概要

限定符和类型 字段和说明
static boolean DEFAULT_IS_LOCATION_ENABLE
是否允许获取位置信息默认值
static boolean DEFAULT_IS_SAVE_TEST_LOG E
是否保存性能日志文件默认值
static boolean DEFAULT_IS_SHOW_LOG
是否打印日志(控制台和共享库)默认值
static java.lang.String DEFAULT_LOG_PATH
共享库日志默认路径

方法概要

限定符和类型 方法和说明
static boolean getLocationEnable()
获取是否允许获取位置信息
static Setting.LOG_LEVEL getLogLevel()
获取日志级别
static java.lang.String getLogPath()
获取共享库日志保存路径
static boolean getSaveTestLog()
获取是否保存性能日志
static boolean getShowLog()
获取是否打印日志信息
static void setLocale(java.util.Locale locale)
设置当前SDK的地区 设置当前应用要指定SDK适应的地区,使 SDK 的在返回必要的信息(如错误提示)时, 适应指定地区的语言。
static void setLocationEnable(boolean enable)
设置是否允许获取位置信息
static void setLogLevel(Setting.LOG_LEVEL level)
设置日志级别 日志级别,默认值为Setting.LOG_LEVEL.normal。
static void setLogPath(java.lang.String path)
设置共享库日志保存路径 共享库日志路径,默认值为DEFAULT_LOG_PATH,即当前应用运行路径。
static void setSaveTestLog(boolean isSaveTestLog)
设置是否保存性能日志 性能日志有助于SDK开发人员了解SDK的性能情况,应用层可忽略此日志。
static void setShowLog(boolean isShowLog)
设置是否打印日志信息 设置是否打印logcat日志和共享库日志, 默认值为DEFAULT_IS_SHOW_LOG

从类继承的方法 java.lang.Object

equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

字段详细资料

DEFAULT_LOG_PATH

public static final java.lang.String DEFAULT_LOG_PATH

共享库日志默认路径

DEFAULT_IS_SHOW_LOG

public static final boolean DEFAULT_IS_SHOW_LOG

是否打印日志(控制台和共享库)默认值

另请参阅: 常量字段值

DEFAULT_IS_SAVE_TEST_LOG

public static final boolean DEFAULT_IS_SAVE_TEST_LOG

是否保存性能日志文件默认值

另请参阅: 常量字段值

DEFAULT_IS_LOCATION_ENABLE

public static final boolean DEFAULT_IS_LOCATION_ENABLE

是否允许获取位置信息默认值

另请参阅: 常量字段值

方法详细资料

setLogLevel

public static void setLogLevel(Setting.LOG_LEVEL level)

设置日志级别

日志级别,默认值为Setting.LOG_LEVEL.normal。应用层根据调试的需要, 可以设置一个自己需要的级别,或使用默认的值。在应用发布时,为了减少日志的开销,又不影响问题的调试, 建议设置为 Setting.LOG_LEVEL.normal 级别。

共享库的日志级别,只有在共享库日志保存路径设置有效时,才会生效。

jar的android logcat根据日志级别打印:当级别为Setting.LOG_LEVEL.allSetting.LOG_LEVEL.detail时, 打印所有日志;当级别为Setting.LOG_LEVEL.normal时打印会话开始、结束,错误等关键日志,当级别为 Setting.LOG_LEVEL.low 时,仅打印错误日志;当级别为Setting.LOG_LEVEL.none时,关闭所有日志打印。

参数:
level - 日志级别

另请参阅: Setting.LOG_LEVEL, getLogLevel(), setLogPath(java.lang.String)

getLogLevel

public static Setting.LOG_LEVEL getLogLevel()

获取日志级别

返回:
日志级别,默认值为Setting.LOG_LEVEL.normal

另请参阅: setLogLevel(com.iflytek.cloud.Setting.LOG_LEVEL)

setLogPath

public static void setLogPath(java.lang.String path)

设置共享库日志保存路径

共享库日志路径,默认值为DEFAULT_LOG_PATH,即当前应用运行路径。 在应用层设置的路径有效时,共享库日志才会保存。

参数:
path - 共享库日志路径值,含文件名。

另请参阅: setLogLevel(com.iflytek.cloud.Setting.LOG_LEVEL), getLogPath()

getLogPath

public static java.lang.String getLogPath()

获取共享库日志保存路径

返回:
获取共享库日志保存路径

另请参阅: setLogPath(java.lang.String)

setShowLog

public static void setShowLog(boolean isShowLog)

设置是否打印日志信息

设置是否打印logcat日志和共享库日志, 默认值为DEFAULT_IS_SHOW_LOG

参数:
isShowLog - false->不显示,true->显示

另请参阅: getShowLog()

getShowLog

public static boolean getShowLog()

获取是否打印日志信息

返回:
设置是否打印logcat日志和共享库日志。

另请参阅: setShowLog(boolean)

setSaveTestLog

public static void setSaveTestLog(boolean isSaveTestLog)

设置是否保存性能日志

性能日志有助于SDK开发人员了解SDK的性能情况,应用层可忽略此日志。

参数:
isSaveTestLog - 是否保存性能日志,默认值DEFAULT_IS_SAVE_TEST_LOG

另请参阅: getSaveTestLog()

getSaveTestLog

public static boolean getSaveTestLog()

获取是否保存性能日志

返回: 是否保存性能日志

另请参阅: setSaveTestLog(boolean)

setLocationEnable

public static void setLocationEnable(boolean enable)

设置是否允许获取位置信息

参数:
enable - 是否允许

另请参阅: setLocationEnable(boolean)

getLocationEnable

public static boolean getLocationEnable()

获取是否允许获取位置信息

返回:
是:true,否:false

另请参阅: getLocationEnable()

setLocale

public static void setLocale(java.util.Locale locale)

设置当前SDK的地区

设置当前应用要指定SDK适应的地区,使 SDK 的在返回必要的信息(如错误提示)时, 适应指定地区的语言。

此函数与 RecognizerDialog.setUILanguage(Locale) 的作用一致。

参数:
locale - 地区值,当前支持Locale.CHINA, Locale.US, Locale.TRADITIONAL_CHINESE

另请参阅: RecognizerDialog.setUILanguage(Locale)

类SpeechConstant

java.lang.Object com.iflytek.cloud.SpeechConstant

public class SpeechConstant extends java.lang.Object

公共常量

本类定义语音SDK用到的参数名。

除了初始化SDK时,可通过SpeechUtility.createUtility(android.content.Context, java.lang.String)设置参数外, 其他如合成,识别等会话的参数设置需要通过相关类的 setParameter 函数来设置。

SDK设置参数值均以String型的字符串传入,对于本类中说明的值范围中可能涉及的 int等类型的数值,请自行转换到对应的String字符串值后传给SDK,如 String.valueOf(int)。同样的,通过获取参数值函数返回的值,也以 String值表示,请自行转换到对应的值,如Integer.parseInt(String)。

在参数值域中,如果只有{ null, 0, 1 }的范围,则表示这是布尔(boolean)型的参数, 其中,null表示空,0表示false,1表示true。+∞、-∞指int型或long型可表示的最大 正负整数值。设置某参数值为null时,表示不设置此参数值,SDK会删除此参数已设置的 值,存在默认值时,在会话中使用默认值。

字段概要

限定符和类型 字段和说明
static java.lang.String ACCENT
方言 每一种语言区域,一般还有不同的方言,通过此参数设置不同的方言参数。
static java.lang.String APPID
应用ID 初始化SDK时,需要传入APPID值。
static java.lang.String ASR_AUDIO_PATH
识别音频保存路径 通过此参数,可以在识别完成后在本地保存一个音频文件。
static java.lang.String ASR_DWA
动态修正,设置听写结果是否动态修正。
static java.lang.String ASR_INTERRUPT_ERROR
识别会话中断报错 设置识别会话被中断时(如当前会话未结束就开启了新会话等),是否通 过RecognizerListener.onError(com.iflytek.cloud.SpeechError)回调ErrorCode.ERROR_INTERRUPT错误。
static java.lang.String ASR_NBEST
句子多侯选 在听写和命令词识别时,通过设置此参数,获取在发音相似时的句子多侯选结 果。
static java.lang.String ASR_NET_PERF
网络状态反馈值 通过此参数,获取网络连接状态(仅在识别和听写)。
static java.lang.String ASR_NOMATCH_ERROR
无结果错误 通过此参数,设置在识别无结果时,是否通过RecognizerListener.onError(com.iflytek.cloud.SpeechError) 返回ErrorCode.MSP_ERROR_NO_DATA错误。
static java.lang.String ASR_PTT
标点符号 通过此参数,设置听写文本结果是否含标点符号。
static java.lang.String ASR_SOURCE_PATH
音频源路径 外部音频文件的路径,在直接听写、识别音频文件时可通过设置此参数,传入文件的路 径,SDK自动读取文件进行识别,不用应用层调用SpeechRecognizer.writeAudio(byte[], int, int) 函数传入音频流。
static java.lang.String ASR_THRESHOLD
识别门限值 用在本地识别中,设置引擎只给出大于此门限值的识别结果。
static java.lang.String ASR_WBEST
词语多侯选 在听写和命令词识别时,通过设置此参数,获取在发音相似时的词语多侯选结 果。
static java.lang.String AUDIO_FORMAT
音频格式 保存的音频格式(合成、听写、识别、声纹、评测业务支持)。
static java.lang.String AUDIO_FORMAT_AUE
sdk音频编解码格式 设置音频流编解码格式,目前支持speex,speex-wb,ico,raw等4种格式 是否必须设置:否 默认值:speex-wb 取值范围:{"speex","speex-wb","raw","ico"}
static java.lang.String AUDIO_SOURCE
音频源 设置SDK是使用 Android自带的录音机录制音频方式,还是使用应用传入音频流方式。
static java.lang.String AUTH_ID
授权ID 授权ID,是每个应用的用户的唯一标识,声纹密码,人脸识别,以及身份认证时需要设置。
static java.lang.String BACKGROUND_SOUND
背景音乐 背景音乐 默认值:无,可选:1 是否必须设置:否 默认值:0 值范围:{ null, 0, 1 }
static java.lang.String BLUETOOTH
使用蓝牙通道 在录音时,通过蓝牙来录音。
static java.lang.String DATA_TYPE
数据类型 已被LEXICON_TYPE取代。
static java.lang.String DOMAIN
应用领域 服务器为不同的应用领域,定制了不同的听写匹配引擎,使用对应的领域能获取更 高的匹配率。
static java.lang.String DVC_INFO
设备信息 设置此参数为真时,在每次会话开始时,由SDK获取设备信息给服务器。
static java.lang.String EMOT
发音人情感 通过此参数,在合成中使用不同的情感。
static java.lang.String ENG_ASR
常量值:识别引擎
static java.lang.String ENG_EVA
常量值:评测引擎
static java.lang.String ENG_IVP
常量值:声纹引擎
static java.lang.String ENG_IVW
常量值:唤醒引擎
static java.lang.String ENG_TTS
常量值:合成引擎
static java.lang.String ENG_WFR
常量值:人脸引擎
static java.lang.String ENGINE_MODE
客户端引擎选择模式
设置使用的引擎模式:MSC。此参数只在Android和iOS平台有用。
是否必须设置:否
值范围:{ "msc"}
static java.lang.String ENGINE_TYPE
引擎类型 设置使用的引擎类型:在线、离线。
static java.lang.String FILTER_AUDIO_TIME
需要过滤的音频时长 部分系统存在启动录音后,有短暂的音频跳变,通过设置此参数,可以过滤掉此部分音频, 提高识别效果。
static java.lang.String FORCE_LOGIN
是否强制login 在初始化调用SpeechUtility.createUtility(android.content.Context, java.lang.String)时会对进程名称进行检查,如果名称 与应用包名不一致则不进行login操作,返回null,用以规避在子进程反复进行调用的问题。
static java.lang.String GRAMMAR_LIST
语法列表名 在本地语法识别时,在构建语法后,可通过 SpeechRecognizer.updateLexicon(String, String, LexiconListener)更新语法中 指定的词表,如本地语法“call”中的"contact",则指定本参数值为"call",在 SpeechRecognizer.updateLexicon(String, String, LexiconListener)的参数1中 指定值为"contact"。
static java.lang.String GRAMMAR_NAME
语法名称 上传语法时的语法名字。
static java.lang.String GRAMMAR_TYPE
语法类型 在使用识别识别时,需要设置与使用的类型一致语法类型的参数。
static java.lang.String ISE_AUDIO_PATH
评测音频保存路径 通过此参数,可以在评测完成后在本地保存一个音频文件。
static java.lang.String ISE_CATEGORY
评测题型 指定当前评测会话的题型,包括以下值:
read_syllable:朗读单字,英文评测不支持;
read_word:朗读词语;
read_sentence:朗读句子;
read_chapter:朗读篇章,暂不支持;
speaker_adapt:自适应,暂不支持;
choice_question:选择题型,暂不支持;
关于题型的详细说明,请参考《Speech Evaluation API Documents.pdf》。
static java.lang.String ISE_INTERRUPT_ERROR
评测会话中断报错 设置评测会话被中断时(如当前会话未结束就开启了新会话等),是否通 过EvaluatorListener.onError(com.iflytek.cloud.SpeechError)回调ErrorCode.ERROR_INTERRUPT错误。
static java.lang.String ISE_PARSED
试题是否已标注过 试卷未标注,云端会先调用标注引擎进行标注,然后把标注结果传给引擎; 试卷已标注,云端将直接传给引擎进行评测。
static java.lang.String ISE_SOURCE_PATH
评测音频源路径 外部音频文件的路径,在直接听写、识别音频文件时可通过设置此参数,传入文件的路 径,SDK自动读取文件进行识别,不用应用层调用SpeechEvaluator.writeAudio(byte[], int, int) 接口传入音频流。
static java.lang.String ISE_USER_MODEL_ID
评测用户模型id 评测用户模型,是保存在服务器端的模型。
static java.lang.String ISV_AUDIO_PATH
声纹音频保存路径 通过此参数,可以在注册或验证完成后在本地保存一个音频文件(目前保存为 Windows pcm)。
static java.lang.String ISV_CMD
声纹模型操作命令 在进行声纹操作时,需要设置操作的命令:que(查询),del(删除)。
static java.lang.String ISV_INTERRUPT_ERROR
声纹会话中断报错 设置声纹会话被中断时(如当前会话未结束就开启了新会话等),是否通 过VerifierListener.onError(SpeechError)回调ErrorCode.ERROR_INTERRUPT错误。
static java.lang.String ISV_PWD
声纹密码 在声纹注册和验证时,除自由说类型外,其余均需要设置对应类型的待注册或验 证的密码,且,密码需要从服务器中获取(见 SpeakerVerifier.getPasswordList(SpeechListener))。
static java.lang.String ISV_PWDT
static java.lang.String ISV_RGN
static java.lang.String ISV_SST
static java.lang.String ISV_VID
声纹id 注册成功服务端返回的此次注册的id。
static java.lang.String IVW_ALSA_CARD
ALSA 录音卡号 当指定AUDIO_SOURCE 为 -3 时,通过此参数,设置通过麦克风硬件时使用的 CARD ID,此参数值与实际硬件相关,只有设置正确的值时才可以正常录音,请参考硬件资料 中的相关说明。
static java.lang.String IVW_ALSA_RATE
ALSA 录音采样率 当指定AUDIO_SOURCE 为 -3 时,通过此参数,设置通过麦克风硬件时使用的 采样率,此参数值与实际硬件相关,只有设置正确的值时才可以正常录音,请参考硬件资料 中的相关说明。
static java.lang.String IVW_AUDIO_PATH
唤醒音频保存路径 仅在 AUDIO_SOURCE 非负值时生效。
static java.lang.String IVW_CHANNEL_NUM
唤醒路数 需要通过 AIMIC 模块使用多路唤醒时,设置此参数为大于0的值,且需要 libaimic.so 以使用 AIMIC 模块。
注:暂无libaimic.so提供
static java.lang.String IVW_ENROLL_DEST_PATH
唤醒注册生成资源目标路径 设置一个文件路径,用于保存训练唤醒词生成的资源路径。
static java.lang.String IVW_ENROLL_RES_PATH
唤醒注册辅助资源路径 唤醒注册功能在注册唤醒模型时,需要辅助资源,才能进行。
static java.lang.String IVW_ENROLL_TIMES
唤醒注册总次数 唤醒注册为了建立模型,需要多次采集用户对同一唤醒词的音频,即在一次注册的会话中, 要求用户多次读出同一唤醒词。
static java.lang.String IVW_ENROLL_TMAX
唤醒注册的最长语音时间 请参考IVW_ENROLL_TMIN的说明。
static java.lang.String IVW_ENROLL_TMIN
唤醒注册的最短语音时间 唤醒注册时,为了保证模型的唤醒效果,过长或过短的音频都不好,需要一个合适的音频 长度,目前,在引擎定义这个时长为250~4000毫秒。
static java.lang.String IVW_NET_MODE
唤醒闭环优化网络模式 语音唤醒是本地能力,唤醒功能使用时不需要网络。
static java.lang.String IVW_RES_PATH
唤醒资源路径 唤醒需要使用本地资源,通过此参数设置本地资源所在的路径
static java.lang.String IVW_RESET_AIMIC
重置 AIMIC 状态 AIMIC 状态重置后,直到下次成功唤醒为止,将不再通过 WakeuperListener.onEvent(int, int, int, android.os.Bundle) 返回识别音频。
static java.lang.String IVW_SHOT_WORD
包含唤醒词 设置唤醒识别时,用于识别的音频是否包含唤醒词。
static java.lang.String IVW_SST
唤醒业务类型 唤醒业务类型,分为如下几种:
唤醒:wakeup;(单唤醒词,多唤醒词,或特定人唤醒)
注册:enroll;(特定人唤醒注册,又称为“训练”,用于特定人唤醒时,注册用户唤醒词)
唤醒识别:oneshot;
详情请参考VoiceWakeuper类的说明。
static java.lang.String IVW_THRESHOLD
门限值 格式:id:门限值;* (*代表可多个),根据资源携带的唤醒词个数按照“id:门限;id:门限” 的格式传入。
static java.lang.String IVW_VOL_CHECK
唤醒注册是否返回音量 设置在唤醒注册时,是否返回音量。
static java.lang.String IVW_WORD_PATH
合并资源目标路径 合并资源目标路径,用于在使用 VoiceWakeuper#updateWords 更新唤醒词 时,设置合并资源后返回的资源文件保存的路径。
static java.lang.String KEEP_ALIVE
持续唤醒 在持续唤醒时,唤醒一次后,当前会话依然继续,录音还在继续,当有匹配的唤醒 时,会返回结果;否则,唤醒一次后,当前会话已结束,录音也结束,不会再监听。
static java.lang.String KEY_REQUEST_FOCUS
音频焦点 在需要录音(如听写)或播音(如合成)的会话中,为了避免出现把音乐播放软件 播放的声音录入,或与合成声音同时播的问题,需要让SDK获取系统的音频焦点。
static java.lang.String KEY_SPEECH_TIMEOUT
语音输入超时时间 设置录取音频的最长时间。
static java.lang.String LANGUAGE
语言区域 在听写和评测时,可通过设置此参数,选择要使用的语言区域,参考 Java标准组织定义 Locale。
static java.lang.String LEXICON_TYPE
词典类型 设置个性化数据上传的数据类型。
static java.lang.String LIB_NAME
共享库名字 自定义初始化SDK时,要加载的库名字。
static java.lang.String LOCAL_GRAMMAR
本地语法ID 在使用本地功能时,通过设置此参数,使用本地语法识别。
static java.lang.String LOCAL_GRAMMAR_PACKAGE
本地语法存储的子路径 应对不同的应用包名,建立子路径,存储本地语法。
static java.lang.String LOCAL_SPEAKERS
本地TTS发音人 仅在内使用到,应用层可忽略。
static java.lang.String MFV_AFC确认周期 用户设置的确认超时时间(生命周期,单位:s),仅在灵活融合验证场景下使用。
static java.lang.String MFV_DATA_FORMAT声纹密码自由说模式必须参数 设置声纹密码类型。
static java.lang.String MFV_DATA_PATH数据保存路径 通过此参数,可以在声纹业务完成后在本地保存一个音频文件,关于音频文件的格式, 请参考AUDIO_FORMAT
static java.lang.String MFV_INTERRUPT_ERROR身份认证会话中断报错 设置身份认证会话被中断时(如当前会话未结束就开启了新会话等),是否通 过IdentityListener.onError(SpeechError)回调ErrorCode.ERROR_INTERRUPT错误。
static java.lang.String MFV_PWD
static java.lang.String MFV_PWDT声纹密码类型 设置声纹密码类型。
static java.lang.String MFV_RGN声纹模型训练次数 在注册声纹模型时,需要设置模型训练的次数。
static java.lang.String MFV_SCENES特征场景 用来说明本次会话将涉及的业务。
static java.lang.String MFV_SST会话类型 人脸业务(ifr) 包括注册(enroll),验证(verify),删除(delete)。
static java.lang.String MFV_VCM融合验证模式 仅在融合验证场景下使用。
static java.lang.String MODE_AUTO常量值:自动模式
static java.lang.String MODE_MSC常量值:MSC模式
static java.lang.String NET_CHECK网络检查 是否需要检查网络状态再进行会话。
static java.lang.String NET_TIMEOUT网络连接超时时间 设置等待结果最长的时间(毫秒)。
static java.lang.String NET_TYPE网络类型 设置当前应用使用的网络类型。
static java.lang.String NEXT_TEXT预合成文本 预合成文本,用于在线合成时,利用当前合成播放时的网络空余,预合成下一段要 合成的文本。
static java.lang.String NOTIFY_RECORD_DATA抛出录音数据 设置通过onEvent接口抛出听写、识别业务的录音数据。
static java.lang.String PARAMS多参数设置 通过本参数可以同时设置多个参数值。
static java.lang.String PITCH合成语调 通过此参数,设置合成返回音频的语调。
static java.lang.String PROT_TYPE网络协议 在使用业务时与服务端的网络交互协议。
static java.lang.String RESULT_LEVEL结果详细等级 返回结果等级(详细程度) ,暂时只有评测用到。
static java.lang.String RESULT_TYPE结果类型 听写,识别(命令词),评测返回文本结果类 型。
static java.lang.String SAMPLE_RATE音频采样率 通过此参数设置音频的采样率。
static java.lang.String SPEED合成语速 通过此参数,设置合成返回音频的语速。
static java.lang.String STREAM_TYPE合成播放流类型 在安卓平台中,播放器AudioTrack可以使用多种流类型 播放音频,以达到音乐、铃声等类型的声音。
static java.lang.String SUBJECT业务类型 会话中区分各业务,除身份认证等在该类的setParameter函数中说明的特 殊业务外,其他可由SDK自动设置,应用可忽略此参数。
static java.lang.String TEXT_BOM文本字节顺序 当以byte[]类型传入的文本数据时,若是utf-8或unicode格式,则应在数据中有 字节顺序(Byte Order Mark, BOM)信息,指示数据存储方式。
static java.lang.String TEXT_ENCODING文本编码格式 合成传入文本,或构建语法、个性化词典,听写、识别的文本编码格式。
static java.lang.String TTS_AUDIO_PATH合成音频保存路径 通过此参数,可以在合成完成后在本地保存一个音频文件,关于音频文件的格式, 请参考AUDIO_FORMAT
static java.lang.String TTS_BUFFER_TIME合成播放缓冲时间 在合成使用SDK进行播放时,设置此参数使合成音频更快播放。
static java.lang.String TTS_DATA_NOTIFY抛出合成数据 设置通过SynthesizerListener.onEvent(int, int, int, android.os.Bundle)抛出合成的音频数据。
static java.lang.String TTS_FADING合成播放淡入淡出 通过此参数,设置是否在合成播放开始、暂停和恢复时,进行声音的淡入淡出。
static java.lang.String TTS_INTERRUPT_ERROR合成中断错误 合成被异常打断的情况下,是否通知外部错误码 ErrorCode.ERROR_INTERRUPT
static java.lang.String TTS_PLAY_STATE合成播放状态 通过SpeechSynthesizer.getParameter(java.lang.String)获取当前的合成播放状态。
static java.lang.String TTS_SPELL_INFO拼音标注信息 此参数暂不支持。
static java.lang.String TYPE_AUTO常量值:自动引擎模型
static java.lang.String TYPE_CLOUD常量值:云端引擎
static java.lang.String TYPE_LOCAL常量值:本地引擎
static java.lang.String VAD_BOS前端点超时 开始录入音频后,音频前面部分最长静音时长。
static java.lang.String VAD_ENABLE是否允许VAD VAD(Voice Activity Detection,静音抑制)是用于在音频传输时,通过控制音频 的静音时长,减少在网络传输没有意义的数据,以减少网络带宽使用等。
static java.lang.String VAD_EOS后端点超时 是否必须设置:否 开始录入音频后,音频后面部分最长静音时长。
static java.lang.String VOICE_NAME合成发音人 通过此参数,在合成中使用不同的语言和方言、性别等。
static java.lang.String VOLUME合成音量 通过此参数,设置合成返回音频的音量。
static java.lang.String WFR_SST人脸识别业务类型 在人脸认别会话开始前,通过设置此参数, 决定接下来的会话业务类型 ,详情请参考FaceRequest类的说明。

方法概要

从类继承的方法 java.lang.Object

equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

字段详细资料

APPID

public static final java.lang.String APPID

应用ID

初始化SDK时,需要传入APPID值。服务器将根据应用的APPID认证应用接入的权 限和个性化的数据,如用户词表等。APPID需要与使用的SDK一致,否则,将报ErrorCode.MSP_ERROR_DB_INVALID_APPID的错误。SDK和APPID的申请 可通过开发者网站申请: http://bbs.xfyun.cn

是否必须设置:是

默认值:无

值范围:与SDK一致的十六进制String类型字符串

ASR_AUDIO_PATH

  public static final java.lang.String ASR_AUDIO_PATH

识别音频保存路径

通过此参数,可以在识别完成后在本地保存一个音频文件。关于音频文件的格式,请参考AUDIO_FORMAT。在Android平台上,如保存到SDCARD,需添加 Manifest.permission.WRITE_EXTERNAL_STORAGE的权限。

是否必须设置:否

默认值:null

值范围:有效的文件相对或绝对路径(含文件名)

ASR_INTERRUPT_ERROR

  public static final java.lang.String ASR_INTERRUPT_ERROR

识别会话中断报错

设置识别会话被中断时(如当前会话未结束就开启了新会话等),是否通过RecognizerListener.onError(com.iflytek.cloud.SpeechError)回调ErrorCode.ERROR_INTERRUPT错误。

是否必须设置:否

默认值:false

值范围:{ null, true, false })

ASR_NET_PERF

  public static final java.lang.String ASR_NET_PERF

网络状态反馈值

通过此参数,获取网络连接状态(仅在识别和听写)。网络状态是SDK通过测试 网络连接返回的[0, 100]范围的状态值,值越高,表示网络状态越好。设置此参数为 真后,网络状态将通过onEvent函数的SpeechEvent.EVENT_NETPREF 事件返回给应用层。

是否必须设置:否

默认值:false

值范围:{ null, true, false }

ASR_NOMATCH_ERROR

  public static final java.lang.String ASR_NOMATCH_ERROR

无结果错误

通过此参数,设置在识别无结果时,是否通过RecognizerListener.onError(com.iflytek.cloud.SpeechError) 返回ErrorCode.MSP_ERROR_NO_DATA错误。

是否必须设置:否

默认值:true

值范围:{ null, true, false }

AUDIO_FORMAT

  public static final java.lang.String AUDIO_FORMAT

音频格式

保存的音频格式(合成、听写、识别、语义、声纹、评测业务支持)。仅在 audio_path(ASR_AUDIO_PATH, TTS_AUDIO_PATH, ISV_AUDIO_PATH, ISE_AUDIO_PATH)非空时生效。

支持保存为以下格式: 1,带音频文件头的 Windows Pcm Wav("wav"); 2,不带音频文件头的 Windows Pcm Raw Data ("pcm")(默认);

是否必须设置:否

默认值:"pcm"

值范围:{ null, "wav","pcm" }

AUDIO_FORMAT_AUE

  public static final java.lang.String AUDIO_FORMAT_AUE

sdk音频编解码格式

设置音频流编解码格式,目前支持speex,speex-wb,ico,raw等4种格式

是否必须设置:否

默认值:speex-wb

取值范围:{"speex","speex-wb","raw","ico"}

AUTH_ID

  public static final java.lang.String AUTH_ID

授权ID

授权ID,是每个应用的用户的唯一标识,声纹密码,人脸识别,以及身份认证时需要设置。 在获取密码,注册和验证声纹,查询和删除声纹模型时,必须设置的用于区分操作 的用户模型的标识。授权ID由应用层自定义,应保证每个用户的ID不一样,否则, 可能在注册时,报ErrorCode.MSP_ERROR_ALREADY_EXIST的错误。若 注册时需要覆盖一个已存在的授权ID,可以在注册时,设置参数名“property”的 值为"del"。

是否必须设置:是

默认值:null

值范围:6-18位,以英文字母开头,由英文字母、阿拉伯数字和下划线组成,区分 字母大小字的字符串。

BACKGROUND_SOUND

  public static final java.lang.String BACKGROUND_SOUND

背景音乐

背景音乐 默认值:无,可选:1

是否必须设置:否

默认值:0

值范围:{ null, 0, 1 }

DATA_TYPE

  public static final java.lang.String DATA_TYPE

数据类型

已被LEXICON_TYPE取代。

设置个性化数据上传的数据类型。在使用 SpeechRecognizer.updateLexicon(String, String, LexiconListener)及 DataUploader.uploadData(SpeechListener, String, byte[])上传用户个 性化数据时,通过此参数,设置要更新的是用户词表("userword"),还是联系 人列表("contact")。在匹配应用定制的个性化数据时,相似的音将优先匹配联 系人列表。

是否必须设置:是

默认值:null

值范围:{ "contact", "userword" }

LEXICON_TYPE

  public static final java.lang.String LEXICON_TYPE

词典类型

设置个性化数据上传的数据类型。在使用 SpeechRecognizer.updateLexicon(String, String, LexiconListener)上 传用户个性化数据时,通过此参数,设置要更新的是用户词表("userword"), 还是联系人列表("contact")。在匹配应用定制的个性化数据时,相似的音将优 先匹配联系人列表。

是否必须设置:是

默认值:null

值范围:{ "contact", "userword" }

EMOT

  public static final java.lang.String EMOT

发音人情感

通过此参数,在合成中使用不同的情感。

更多内容请参考官方网站:http://bbs.xfyun.cn。

是否必须设置:否

默认值:neutral

值范围:{ neutral, happy, sad, angry }。

ISE_AUDIO_PATH

  public static final java.lang.String ISE_AUDIO_PATH

评测音频保存路径

通过此参数,可以在评测完成后在本地保存一个音频文件。关于音频文件的格式, 请参考AUDIO_FORMAT。在Android平台上,如保存到SDCARD,需添加 Manifest.permission.WRITE_EXTERNAL_STORAGE的权限。

是否必须设置:否

默认值:null

值范围:有效的文件相对或绝对路径(含文件名)

ISV_AUDIO_PATH

  public static final java.lang.String ISV_AUDIO_PATH

声纹音频保存路径

通过此参数,可以在注册或验证完成后在本地保存一个音频文件(目前保存为 Windows pcm)。在Android平台上,如保存到SDCARD,需添加 WRITE_EXTERNAL_STORAGE的权限。

是否必须设置:否

默认值:null

值范围:有效的文件相对或绝对路径(含文件名)

IVW_ALSA_CARD

  public static final java.lang.String IVW_ALSA_CARD

ALSA 录音卡号

当指定AUDIO_SOURCE 为 -3 时,通过此参数,设置通过麦克风硬件时使用的 CARD ID,此参数值与实际硬件相关,只有设置正确的值时才可以正常录音,请参考硬件资料 中的相关说明。此参数值仅在 AUDIO_SOURCE 值为 -3 时有效。

是否必须设置:否

默认值:2

值范围:视硬件而定

IVW_ALSA_RATE

  public static final java.lang.String IVW_ALSA_RATE

ALSA 录音采样率

当指定AUDIO_SOURCE 为 -3 时,通过此参数,设置通过麦克风硬件时使用的 采样率,此参数值与实际硬件相关,只有设置正确的值时才可以正常录音,请参考硬件资料 中的相关说明。此参数值仅在 AUDIO_SOURCE 值为 -3 时有效。

此参数指定的仅为通过麦克风硬件录制到的多声道原始音频的采样率,最后通过 AIMIC 模块分解后给唤醒引擎的音频,可能与此参数指定的值不一样。另参考 IVW_CHANNEL_NUM 和 SAMPLE_RATE 的说明。

是否必须设置:否

默认值:16000

值范围:视硬件而定

IVW_AUDIO_PATH

  public static final java.lang.String IVW_AUDIO_PATH

唤醒音频保存路径

仅在 AUDIO_SOURCE 非负值时生效。

通过此参数,可以在唤醒结束后在本地保存一个最近1分钟音频文件。关于音频文件的格式, 请参考AUDIO_FORMAT。在Android平台上,如保存到SDCARD,需添加 Manifest.permission.WRITE_EXTERNAL_STORAGE的权限。

是否必须设置:否

默认值:null

值范围:有效的文件相对或绝对路径(含文件名)

IVW_CHANNEL_NUM

  public static final java.lang.String IVW_CHANNEL_NUM

唤醒路数

需要通过 AIMIC 模块使用多路唤醒时,设置此参数为大于0的值,且需要 libaimic.so 以使用 AIMIC 模块。最大支持的唤醒路数与 libaimic.so 及硬件的性能相关,目前建议值为 3。默认值 下,将不使用AIMIC。

当此参数值大于0时,VoiceWakeuper 内部将通过 AIMIC 模块,把通过麦克风硬件录取 的多声道原始音频(SDK直接录取——AUDIO_SOURCE 为 -3 时,或应用通过 VoiceWakeuper.writeAudio(byte[], int, int) 传入的——AUDIO_SOURCE 为 -1 时 ), 分解出有效的几个通道,并转换至合适的采样率后,进行唤醒,并在任意一个通道命中唤醒时,返回成功 唤醒的结果,并开始返回可用于识别的 16000HZ 单声道的 PCM 音频。

关于获取用于识别的音频,参考 WakeuperListener.onEvent(int, int, int, android.os.Bundle) 以及 IVW_RESET_AIMIC 的说明。

libaimic.so 与硬件的密钥一致方可正常使用,否则将返回 ErrorCode.MSP_ERROR_NO_LICENSE 的错误, 此时,请参考硬件附带的相关文档,确认密钥等信息是否正确。同时,5麦、6麦各不同硬件的 libaimic.so 不能相互通 用,使用时,需要确认 libaimic.so 与硬件一致,否则将可能出现不返回错误,也无法唤醒的情况。

是否必须设置:否

默认值:0

值范围:[0, 3]

IVW_ENROLL_DEST_PATH

  public static final java.lang.String IVW_ENROLL_DEST_PATH

唤醒注册生成资源目标路径

设置一个文件路径,用于保存训练唤醒词生成的资源路径。与 IVW_ENROLL_RES_PATH设置使用资源路径不同的是,这里设置保存 资源的路径不需要通过ResourceUtil.generateResourcePath(android.content.Context, com.iflytek.cloud.util.ResourceUtil.RESOURCE_TYPE, java.lang.String) 生成,直接设置即可,如"/sdcard/msc/ivw_test.jet"。

是否必须设置:是(仅在注册模型时)

默认值:null

值范围:有效的文件路径

IVW_ENROLL_RES_PATH

  public static final java.lang.String IVW_ENROLL_RES_PATH

唤醒注册辅助资源路径

唤醒注册功能在注册唤醒模型时,需要辅助资源,才能进行。通过此参数,设置 辅助资源路径值。资源路径值为由 ResourceUtil.generateResourcePath(android.content.Context, com.iflytek.cloud.util.ResourceUtil.RESOURCE_TYPE, java.lang.String)生成标准的路 径值,请参考该函数的说明。

是否必须设置:是(仅在注册模型时)

默认值:null

值范围:有效的资源路径

IVW_ENROLL_TIMES

  public static final java.lang.String IVW_ENROLL_TIMES

唤醒注册总次数

唤醒注册为了建立模型,需要多次采集用户对同一唤醒词的音频,即在一次注册的会话中, 要求用户多次读出同一唤醒词。在此过程中,用户一次唤醒词音频送入SDK后,SDK通过 WakeuperListener.onResult(WakeuperResult)告知应用,当次注册的是否成功,应用 则根据这个结果,提示用户进行下一轮读唤醒词,或是重新开始。

目前仅支持三次。

是否必须设置:否

默认值:3

值范围:{ null, 3 }

IVW_ENROLL_TMAX

  public static final java.lang.String IVW_ENROLL_TMAX

唤醒注册的最长语音时间

请参考IVW_ENROLL_TMIN的说明。

是否必须设置:否

默认值:4000

值范围:[250, 4000]

IVW_ENROLL_TMIN

  public static final java.lang.String IVW_ENROLL_TMIN

唤醒注册的最短语音时间

唤醒注册时,为了保证模型的唤醒效果,过长或过短的音频都不好,需要一个合适的音频 长度,目前,在引擎定义这个时长为250~4000毫秒。此音频时长不包括首尾的静音部分,指 录音打开后,用户开始说话时(由VAD检测到音量非0时),开始算起。

是否必须设置:否

默认值:510

值范围:[250, 4000]

IVW_NET_MODE

  public static final java.lang.String IVW_NET_MODE

唤醒闭环优化网络模式

语音唤醒是本地能力,唤醒功能使用时不需要网络。但闭环优化功能需要上传数据, 故会产生一定的数据流量,建议该功能在WIFI条件下开启。

唤醒闭环优化即唤醒功能在闭环环境下进行持续优化。唤醒闭环优化是根据开发者 App应用场景, 通过挑选本地唤醒音频数据上传至服务端,进行训练,生成优化唤醒词资源。 优化资源相比本地资源在App使用场景在唤醒率和抑制误唤醒有良好的表现。

该参数拥有以下模式: 模式0:关闭闭环优化功能,禁止上传优化数据及启动唤醒时进行资源查询下载; 模式1:开启闭环优化功能,允许上传优化数据,禁止启动唤醒时进行资源查询下载; 注:目前仅加强型支持,基础性暂不支持闭环优化

是否必须设置:否

默认值:0

值范围:{0,1}

IVW_RES_PATH

  public static final java.lang.String IVW_RES_PATH

唤醒资源路径

唤醒需要使用本地资源,通过此参数设置本地资源所在的路径。多个资源间,以英文分号";"分隔。 与IVW_ENROLL_RES_PATH一样,用于使用的资源,需要通过 ResourceUtil.generateResourcePath(android.content.Context, com.iflytek.cloud.util.ResourceUtil.RESOURCE_TYPE, java.lang.String)生成标准的资源路径值。 请参考 ResourceUtil.generateResourcePath(android.content.Context, com.iflytek.cloud.util.ResourceUtil.RESOURCE_TYPE, java.lang.String)。

是否必须设置:是(在非注册时)

默认值:null

值范围:有效的资源文件路径

TTS_DATA_NOTIFY

  public static final java.lang.String TTS_DATA_NOTIFY

抛出合成数据

设置通过SynthesizerListener.onEvent(int, int, int, android.os.Bundle)抛出合成的音频数据。当设为抛出时, 会通过回调返回音频数据,事件ID为SpeechEvent.EVENT_TTS_BUFFER。事件 详情请参考该事件ID的说明。仅在合成到 文件时生效。

是否必须设置:否

默认值:0

值范围:{ null, 0,1 }

TTS_FADING

  public static final java.lang.String TTS_FADING

合成播放淡入淡出

通过此参数,设置是否在合成播放开始、暂停和恢复时,进行声音的淡入淡出。

是否必须设置:否

默认值:false

值范围:{ null, true,false }

TTS_INTERRUPT_ERROR

  public static final java.lang.String TTS_INTERRUPT_ERROR

合成中断错误

合成被异常打断的情况下,是否通知外部错误码 ErrorCode.ERROR_INTERRUPT。如应用层在当前合成未结束,就调用 SpeechSynthesizer.startSpeaking(java.lang.String, com.iflytek.cloud.SynthesizerListener) 开始新的会话。默认为不通知(false)。

是否必须设置:否

默认值:false

值范围:{ null, true,false }

TTS_PLAY_STATE

  public static final java.lang.String TTS_PLAY_STATE

合成播放状态

通过SpeechSynthesizer.getParameter(java.lang.String)获取当前的合成播放状态。 此参数值仅用于获取,不用来设置。

取值:0(初始化),1(缓冲中),2(播放中),3(暂停中),4(停止)

TTS_PLAY_STATE

  public static final java.lang.String TTS_PLAY_STATE

合成播放状态

通过SpeechSynthesizer.getParameter(java.lang.String)获取当前的合成播放状态。 此参数值仅用于获取,不用来设置。

取值:0(初始化),1(缓冲中),2(播放中),3(暂停中),4(停止)

TTS_SPELL_INFO

  public static final java.lang.String TTS_SPELL_INFO

拼音标注信息

此参数暂不支持。

如外部需要返回拼音标注,则需要设置此值为true。返回结果为JSON结构的文 本字符串,其中标注信息在 "spell_info" 字段中。

是否必须设置:否

默认值:false

值范围:{ null, true,false }

VOICE_NAME

  public static final java.lang.String VOICE_NAME

合成发音人

通过此参数,在合成中使用不同的语言和方言、性别等。设 置的发音人,语速, 语调, 音量,在一次合成时开始后,就会在合成的音频中生效,此时,若 要中途改变这些参数,则应该从想要改变的文本处重新开始合成,因为已经返回的音频 是无法再改变的。

支持的发音人:请到控制台查看。

更多内容请参考官方网站:http://bbs.xfyun.cn。

是否必须设置:否

默认值:xiaoyan

值范围:见上文。

VOLUME

  public static final java.lang.String VOLUME

合成音量

通过此参数,设置合成返回音频的音量。合成音量,影响的是合成到的音频本身的 音量大小(振幅),而非播放时系统的音量。关于播放时操作系统的音量,则请自行 查找操作系统相关API开发接口说明。

是否必须设置:否

默认值:50

值范围:[0, 100]

NEXT_TEXT

  public static final java.lang.String NEXT_TEXT

预合成文本

预合成文本,用于在线合成时,利用当前合成播放时的网络空余,预合成下一段要 合成的文本。使用了预合成后,可大幅度提高合成播放的流畅度。预合成的文本要与 下一次SpeechSynthesizer.startSpeaking(java.lang.String, com.iflytek.cloud.SynthesizerListener)的文本一致,才会使预合成生效。 此参数仅在设置后的那次SpeechSynthesizer.startSpeaking(java.lang.String, com.iflytek.cloud.SynthesizerListener)的会话中生效, 下次SpeechSynthesizer.startSpeaking(java.lang.String, com.iflytek.cloud.SynthesizerListener)前没有设置此参数,则此参数值 为null。

是否必须设置:否

默认值:null

值范围:null,或下一次会话要进行合成的文本

PITCH

  public static final java.lang.String PITCH

合成语调

通过此参数,设置合成返回音频的语调。

是否必须设置:否

默认值:50

值范围:[0, 100]

PROT_TYPE

  public static final java.lang.String PROT_TYPE

网络协议

在使用业务时与服务端的网络交互协议。当默认的协议在网络环境不支持时,可以设置其他 支持的协议,以正常使用服务。

是否必须设置:否

默认值:"tcp"

值范围:{ null, "ssl", "tcp" }

SPEED

  public static final java.lang.String SPEED

合成语速

通过此参数,设置合成返回音频的语速。

是否必须设置:否

默认值:50

值范围:[0, 100]

STREAM_TYPE

  public static final java.lang.String STREAM_TYPE

合成播放流类型

在安卓平台中,播放器AudioTrack可以使用多种流类型 播放音频,以达到音乐、铃声等类型的声音。

是否必须设置:否

默认值:AudioManager.STREAM_MUSIC

值范围:AudioManager支持的流类型值

TEXT_BOM

  public static final java.lang.String TEXT_BOM

文本字节顺序

当以byte[]类型传入的文本数据时,若是utf-8或unicode格式,则应在数据中有 字节顺序(Byte Order Mark, BOM)信息,指示数据存储方式。当没有字节顺序 信息时,unicode编码时,默认数据为“UnicodeLittleUnmarked”格式。

是否必须设置:否

默认值:1

值范围:{ null, 0, 1 }

TEXT_ENCODING

  public static final java.lang.String TEXT_ENCODING

文本编码格式

合成传入文本,或构建语法、个性化词典,听写、识别和语义结果的文本编码格式。

除在使用DataUploader.uploadData(SpeechListener, String, byte[])上传 外,其他函数传入的多为String类型的字符串,SDK会自动根据业务自动选择不同的编 码格式,在没有特殊说明要设置编码格式的函数,应用层如无必要,不需要设置此参数。

是否必须设置:否

默认值:视业务而异

值范围:{ null, "gb2312", "gbk", "big5", "unicode", "gb18030", "utf-8" }

TTS_AUDIO_PATH

  public static final java.lang.String TTS_AUDIO_PATH

合成音频保存路径

通过此参数,可以在合成完成后在本地保存一个音频文件,关于音频文件的格式, 请参考AUDIO_FORMAT。在Android平台上,如保存到SDCARD,需添加 Manifest.permission.WRITE_EXTERNAL_STORAGE的权限。

是否必须设置:否

默认值:null

值范围:有效的文件相对或绝对路径(含文件名)

TTS_BUFFER_TIME

  public static final java.lang.String TTS_BUFFER_TIME

合成播放缓冲时间

在合成使用SDK进行播放时,设置此参数使合成音频更快播放。

一般情况下,合成根据第一小句(出现逗号或者句号等断句)返回音频完成时,开 始播放音频,这样不会出现每小句中播放到中途出现音频未返回完而中断播放的情况。 然而,这样会因为等待第一小句音频完成,而可能会使播放开始时间慢几百毫秒以上。 对于某些播报实时性要求很高的应用来说,这个可能是无法接受的。通过此参数,可以 设置返回音频的时长达到多少毫秒后,就马上开始播放已有音频,而不必等待第一小句的完 成(当值超过第一小句时间时,将以第一小句完成开始播放)。然而,设置此参数后为大于 等于0后,合成的播放回调SynthesizerListener.onSpeakProgress(int, int, int) 返回的当前播放的文本位置将不再准确。所以,此参数一般用于使用了本地合成,且实 时性要求很高,但对播报文本位置回调没有要求的应用中,如滴滴打车等。

当值为-1时,等待第一小句缓冲完成,开始播放;当值为大于等于0时,等待缓冲音 频时长大于等于设置值时,即开始播放。

是否必须设置:否

默认值:-1

值范围:{ null, [-1, +) }

SUBJECT

  public static final java.lang.String SUBJECT

业务类型

会话中区分各业务,除身份认证等在该类的setParameter函数中说明的特 殊业务外,其他可由SDK自动设置,应用可忽略此参数。业务类型包括: 听写:iat 识别:asr 合成:tts 声纹:ivp 评测:ise 多重认证:mfv 身份认证之声纹:ivp 身份认证之人脸:ifr 上传:uup 转写:ist 部分业务可能未开放,或已不再支持,请参考各类的说明。

是否必须设置:视不同类而异

默认值:视不同类而异

值范围:见上文

IVW_RESET_AIMIC

  public static final java.lang.String IVW_RESET_AIMIC

重置 AIMIC 状态

AIMIC 状态重置后,直到下次成功唤醒为止,将不再通过 WakeuperListener.onEvent(int, int, int, android.os.Bundle) 返回识别音频。

此参数在 VoiceWakeuper 唤醒会话进行时(参考VoiceWakeuper.isListening()说明) 设置,且仅在 IVW_CHANNEL_NUM 非0时生效。

是否必须设置:否

值范围:{1}

IVW_SHOT_WORD

  public static final java.lang.String IVW_SHOT_WORD

包含唤醒词

设置唤醒识别时,用于识别的音频是否包含唤醒词。

当包含时,唤醒词作为识别语法的一部分,在语法中必须包含唤醒词,否则将没有 匹配结果。相反的,在不包含时,唤醒词不参与识别,在说完唤醒词后,需要完整的说出 语法中的句子。

是否必须设置:否

默认值:1

值范围:{null, 0, 1}

IVW_SST

  public static final java.lang.String IVW_SST

唤醒业务类型

唤醒业务类型,分为如下几种: 唤醒:wakeup;(单唤醒词,多唤醒词,或特定人唤醒) 注册:enroll;(特定人唤醒注册,又称为“训练”,用于特定人唤醒时,注册用户唤醒词) 唤醒识别:oneshot; 详情请参考VoiceWakeuper类的说明。

特定人唤醒暂不支持。

是否必须设置:是

默认值:null

值范围:{ null, "wakeup", "enroll", "oneshot" }

IVW_THRESHOLD

  public static final java.lang.String IVW_THRESHOLD

门限值

格式:id:门限值;* (*代表可多个),根据资源携带的唤醒词个数按照“id:门限;id:门限” 的格式传入。门限值越高,则要求匹配度越高,才能唤醒。

是否必须设置:否

默认值:1450

值范围:[0, 3000]

IVW_VOL_CHECK

  public static final java.lang.String IVW_VOL_CHECK

唤醒注册是否返回音量

设置在唤醒注册时,是否返回音量。设置为是时,将通过 WakeuperListener.onVolumeChanged(int)实时返回音量值;否则不会返回。

是否必须设置:否

默认值:0

值范围:{ null, 0, 1 }

IVW_WORD_PATH

  public static final java.lang.String IVW_WORD_PATH

合并资源目标路径

合并资源目标路径,用于在使用 VoiceWakeuper#updateWords 更新唤醒词 时,设置合并资源后返回的资源文件保存的路径。需要注意的是,此参数并不通过VoiceWakeuper.setParameter(String, String)设置,而是设置在 VoiceWakeuper#updateWords的参数2中。且由于是用来保存的路径,不必通过 ResourceUtil.generateResourcePath(android.content.Context, com.iflytek.cloud.util.ResourceUtil.RESOURCE_TYPE, java.lang.String)生成路径值,而是 直接设置即可,如"/sdcard/dest.jet"。

是否必须设置:是(在合并资源时,必须设置,其他不必)

默认值:null

值范围:有效的String类型路径

KEEP_ALIVE

  public static final java.lang.String KEEP_ALIVE

持续唤醒

在持续唤醒时,唤醒一次后,当前会话依然继续,录音还在继续,当有匹配的唤醒 时,会返回结果;否则,唤醒一次后,当前会话已结束,录音也结束,不会再监听。

此参数对唤醒识别不起作用,见IVW_SST。

是否必须设置:否

默认值:0

值范围:{null, 0, 1}

KEY_REQUEST_FOCUS

  public static final java.lang.String KEY_REQUEST_FOCUS

音频焦点

在需要录音(如听写)或播音(如合成)的会话中,为了避免出现把音乐播放软件 播放的声音录入,或与合成声音同时播的问题,需要让SDK获取系统的音频焦点。通过 此参数,设置是否会话过程中由SDK获取音频焦点。当SDK获取或释放音频焦点时,系 统通过AudioManager.OnAudioFocusChangeListener.onAudioFocusChange(int) 回调通知所有监听,音频焦点的变化。应用层也可以设置不由SDK获取音频焦点,并自 己实现音频焦点获取、丢失时,暂停合成播放等处理。

是否必须设置:否

默认值:true (唤醒默认关闭)

值范围:{ null, true,false }

LOCAL_SPEAKERS

  public static final java.lang.String LOCAL_SPEAKERS

本地TTS发音人

仅在内使用到,应用层可忽略。

MFV_AFC

  public static final java.lang.String MFV_AFC

确认周期

用户设置的确认超时时间(生命周期,单位:s),仅在灵活融合验证场景下使用。

是否必须设置:否

默认值:30

值范围:[3, 45]

MFV_DATA_FORMAT

  public static final java.lang.String MFV_DATA_FORMAT

声纹密码自由说模式必须参数

设置声纹密码类型。声纹密码类型为 2(自由说)时,必须带入此参数,目前只支持8k音频

是否必须设置:是

默认值:null

值范围:{8000}

MFV_DATA_PATH

  public static final java.lang.String MFV_DATA_PATH

数据保存路径

通过此参数,可以在声纹业务完成后在本地保存一个音频文件,关于音频文件的格式, 请参考AUDIO_FORMAT。在Android平台上,如保存到SDCARD,需添加 Manifest.permission.WRITE_EXTERNAL_STORAGE的权限。

是否必须设置:否

默认值:null

值范围:有效的文件相对或绝对路径(含文件名)

MFV_INTERRUPT_ERROR

  public static final java.lang.String MFV_INTERRUPT_ERROR

身份认证会话中断报错

设置身份认证会话被中断时(如当前会话未结束就开启了新会话等),是否通 过IdentityListener.onError(SpeechError)回调ErrorCode.ERROR_INTERRUPT错误。

是否必须设置:否

默认值:false

值范围:{ null, true, false }

MFV_SCENES

  public static final java.lang.String MFV_SCENES

特征场景

用来说明本次会话将涉及的业务。包括:鉴别组管理(ipt),声纹(ivp),人脸(ifr),人脸声纹融合(ivp|ifr)。

是否必须设置:是

默认值:null

值范围:{ null,"ipt","ivp", "ifr", "ivp|ifr" }

MFV_SST

  public static final java.lang.String MFV_SST

会话类型

人脸业务(ifr)

包括注册(enroll),验证(verify),删除(delete)。

暂不支持:重新注册(reenroll)查询(query)。

声纹业务(ivp)

包括注册(enroll,或train),验证(verify),查询(query),删除(delete),下载(download)

暂不支持:重新注册(reenroll)

请参考IdentityVerifier类的说明。

是否必须设置:是

默认值:null

值范围:

人脸业务时:{ "enroll", "verify", "reenroll", "query", "delete" }

声纹业务时:{ "enroll", "verify", "reenroll", "query", "delete", "download" }

MFV_VCM

  public static final java.lang.String MFV_VCM

融合验证模式

仅在融合验证场景下使用。可选值:单一生物特征数据验证(sin),混合生物特征数据验证(mix), 灵活生物特征数据验证(agi)。

是否必须设置:是(仅在融合验证场景下)

默认值:null

值范围:{ "sin", "mix", "agi" }

ISV_INTERRUPT_ERROR

  public static final java.lang.String ISV_INTERRUPT_ERROR

声纹会话中断报错

设置声纹会话被中断时(如当前会话未结束就开启了新会话等),是否通 过VerifierListener.onError(SpeechError)回调ErrorCode.ERROR_INTERRUPT错误。

是否必须设置:否

默认值:false

值范围:{ null, true, false }

NET_TYPE

public static final java.lang.String NET_TYPE

网络类型

设置当前应用使用的网络类型。 SDK通过应用设置的不同网络类型,采用不同的优化,提高网络交互速度,减少 带宽占用。默认的,SDK内会获取当前设备的网络类型(在Android等平台时), 应用可不设置此参数。 是否必须设置:否 默认值:无 值范围: { null, "wifi", "cmwap", "ctwap", "uniwap", "cmnet", "uninet", "ctnet", "3gnet" }

FORCE_LOGIN

public static final java.lang.String FORCE_LOGIN

是否强制login

在初始化调用SpeechUtility.createUtility(android.content.Context, java.lang.String)时会对进程名称进行检查,如果名称 与应用包名不一致则不进行login操作,返回null,用以规避在子进程反复进行调用的问题。 此参数设置是否强制login。

是否必须设置:否

默认值:false

值范围:{ null, true, false }

LIB_NAME

public static final java.lang.String LIB_NAME

共享库名字

自定义初始化SDK时,要加载的库名字。

在SDK使用时,与服务器交互、音频编解码等模块,都在共享库中,在SDK使用时, 必需使用这些库才可以正常使用功能。关于java使用C共享库函数的知识,请自行查找JNI (Java Native Interface)的相关资料。

SDK默认的库文件名为:libmsc.so。

若应用层需要自定义库名,文件名为“libmyname.so”时, 则设置此参数值为“myname”。

如果库文件参数设置不正常,会引起使用时加载库失败的错误: java.lang.Unsatisfie.lang.UnsatisfiedLinkError no injava.library.path。

是否必须设置:否

默认值:"msc"

值范围:与共享库名一致的字符串

RESULT_LEVEL

public static final java.lang.String RESULT_LEVEL

结果详细等级

返回结果等级(详细程度) ,暂时只有评测用到。可选: 精简:plain 完全:complete ,目前中文评测仅支持此等级。

关于评测结果的详细说明,请参考《Speech Evaluation API Documents.pdf》。

是否必须设置:否

默认值:"complete"

值范围:{ "complete", "plain" }

ACCENT

public static final java.lang.String ACCENT

方言

每一种语言区域,一般还有不同的方言,通过此参数,在听写和语音语义理解时, 设置不同的方言参数。

当前仅在LANGUAGE为简体中文时,支持方言选择,其他语言区域时, 请把此参数值设为null。

当前支持的中文方言有: 普通话:mandarin(默认) 粤 语:cantonese 四川话:lmz

关于合成的方言选择,请参考VOICE_NAME。关于语言区域的选择,请 参考LANGUAGE

是否必须设置:否

默认值:"mandarin"

值范围:{ null, "mandarin", "cantonese", "lmz" }

VAD_ENABLE

public static final java.lang.String VAD_ENABLE

是否允许VAD

VAD(Voice Activity Detection,静音抑制)是用于在音频传输时,通过控制音频 的静音时长,减少在网络传输没有意义的数据,以减少网络带宽使用等。关于VAD的 具体介绍,请自行查找相关的资料。

仅在允许VAD时,VAD_BOS, VAD_EOS才会起作用,且各监听 的音量变化回调(如RecognizerListener.onVolumeChanged(int, byte[\]))才会有音量 检测值返回。

是否必须设置:否

默认值:1(是)

值范围:{ null, 0, 1 }

  • 另请参阅:

    SpeechRecognizer.setParameter(String, String), VAD_BOS, VAD_EOS, 常量字段值

  • VAD_BOS

    public static final java.lang.String VAD_BOS

    前端点超时

    开始录入音频后,音频前面部分最长静音时长。

    VAD(Voice Activity Detection,静音抑制)是用于在音频传输时,通过控制音频 的静音时长,减少在网络传输没有意义的数据,以减少网络带宽使用等。关于VAD的 具体介绍,请自行查找相关的资料。

    SDK为了减少网络带宽,同时又可以自动的根据用户停止说话时的静音来自动结束 音频输入,使用了VAD技术。本参数正是在应用VAD时用于录入音频开始后(包括使 用SDK录音机模式或应用写入音频流模式,见AUDIO_SOURCE),前面部 份静音的最长时间控制,当音频的前静音时长超过设置值时,SDK就会认为音频输入已 完成。此时,SDK会通过RecognizerListener.onError(SpeechError)结束会话, 并携带错误码为ErrorCode.MSP_ERROR_NO_DATA的错误信息。

    当在识别会话开始前,设置了参数AudioDetector.VAD_ENGINE 值为AudioDetector.TYPE_META时,将启用前端点消除功能,并使 此前端点超时参数不再起作用。(前端点消除功能暂未支持)

    前端点静音消除,与前端点超时相反,会把开始说话前的静音全部过滤——无论时间多长, 减少在一直等待识别的场景下,出现ErrorCode.MSP_ERROR_NO_DATA的错误,并减少 静音识别产生的流量。从此处亦可知道,启用此功能后,将会使VAD_BOS不再起作用。

    如果已经存在 AudioDetector的实例,则SDK直接使用已经存在 的实例进行前端点静音消除;否则,要启用前端点静音消除,还 必须设置 AudioDetector.RES_PATH参数,以使 SDK 能成功创建 AudioDetector的实例。所以,在启用了前端点静音 消除时,需要保证应用没有使用 AudioDetector,否则将出现不可预期的数据错误。

    前端点静音消除对 AudioDetector 实例的占用,仅在有启用该功能 的会话期间。且SDK不会主动销毁已创建的 AudioDetector 实例—— 无论是否其由SDK来创建。所以,若应用需要使用 AudioDetector 的实例时, 应该参考关于该类的销毁函数 AudioDetector.destroy() 的说明,并确保 没有在启用前端点静音消除的会话期间时,来销毁并重新创建。

    是否必须设置:否

    默认值:听写5000,其他4000

    值范围:[1000, 10000]

VAD_EOS

public static final java.lang.String VAD_EOS

后端点超时

是否必须设置:否

开始录入音频后,音频后面部分最长静音时长。其他详情,请参考VAD_BOS

是否必须设置:否

默认值:听写1800,其他700

值范围:[0, 10000]

  • 另请参阅:

    VAD_ENABLE, VAD_BOS, SpeechRecognizer.setParameter(String, String), 常量字段值

  • SAMPLE_RATE

    public static final java.lang.String SAMPLE_RATE

    音频采样率

    通过此参数设置音频的采样率。

    音频的采样率是音频属性的其中一个,一般来说,采样率越高音频的质量越好,识 别的匹配率越高,但上传带宽消耗也越大。关于音频采样率的具体说明请自行查找相关 的资料。

    采样率设置应该与实际传入的音频一致,否则将无法识别。在使用SDK录音模式时, SDK将根据设置的采样率录取对应音频。同时,不同的业务功能支持的采样率可能不一 样,本参数只列举普遍支持的值,对于具体业务不支持的采样率,请参考对应的类的 setParameter函数的说明。

    是否必须设置:否

    默认值:16000

    值范围:{8000, 16000}(注意离线识别不支持8000采样率)

PARAMS

public static final java.lang.String PARAMS

多参数设置

通过本参数可以同时设置多个参数值。特别地,如果设置本参数值为null,将清空 所有设置过的参数,还原为默认值。

设置多参数时,参数名与参数值间,以"="连接,各参数间以","连接。(参数名与 参数值间,各参数间无空格)如"vad_bos=1000,vad_eos=700"。为了减少字符串的 手误,我们建议在没有必要时,还是使用普通的一次设置单个参数值的方式。

是否必须设置:否

默认值:无

值范围:有效的String类型参数集成

ENGINE_MODE

public static final java.lang.String ENGINE_MODE

客户端引擎选择模式

设置使用的引擎模式:语记、MSC、自动。此参数只在Android和iOS平台有用。

在Android和iOS平台,通过语记可以免费使用本地功能。关于语记的介绍,请 参考我们的官网。与语记中服务通信方式相比,另一种即直接通过SDK提供的接口和 共享库使用语音服务,我们称之为MSC方式。在引擎选择有三种模式可选, auto:表示云端优先使用MSC,本地优先使用语记; msc:只使用MSC; plus:只使用语记。

是否必须设置:否

默认值:"auto" ——没有离线资源的SDK中, 有离线资源的SDK则默认为 msc

值范围:{ "msc", "plus", "auto" }

AUDIO_SOURCE

public static final java.lang.String AUDIO_SOURCE

音频源

设置SDK是使用 Android自带的录音机录制音频方式,还是使用应用传入音频流方式。

Android自带录音机具体支持方式请见 MediaRecorder.AudioSource。当通过 麦克风录入音频时,应用需拥有以下权限: Manifest.permission.RECORD_AUDIO

SDK在系统类型基础上扩充以下音频流方式:

1、在写音频流方式(-1)下,应用层通过writeAudio函数送入音频;

2、在传文件路径方式(-2)下,SDK通过应用层设置的ASR_SOURCE_PATH值, 直接读取音频文件。目前仅在SpeechRecognizer中支持。

3、在使用 AIMIC 方式( -3 )下(仅唤醒下有效),SDK通过麦克风硬件录音。需要购买硬件支持。 此时SDK需要使用 alsa 的 so 文件(一般命名为 libalsa-jni.so), 且当 Msc.jar 不包含 alsa 的类时(默认不包含), 应用工程中,还需要包含 alsa 的 jar 文件(一般命名为 alsarecorder.jar);否则 msc.jar 将因无法使用 alsa 录音而报错。 另参考IVW_ALSA_CARD, IVW_ALSA_RATE 关于录音设备参数说明。

在唤醒使用-3值方式时,还必须设置 IVW_CHANNEL_NUM的值为大于0。

是否必须设置:否

默认值:1

值范围:SDK扩展方式{ -3, -2, -1} 和 Android系统自带方式MediaRecorder.AudioSource

FILTER_AUDIO_TIME

public static final java.lang.String FILTER_AUDIO_TIME

需要过滤的音频时长

部分系统存在启动录音后,有短暂的音频跳变,通过设置此参数,可以过滤掉此部分音频, 提高识别效果。

是否必须设置:否

默认值:0

值范围:[0, 60000]

LOCAL_GRAMMAR

public static final java.lang.String LOCAL_GRAMMAR

本地语法ID

在使用本地功能时,通过设置此参数,使用本地语法识别。当此参数值为 null 时SDK 将使用本地听写。

是否必须设置:否

默认值:null

值范围:有效的String类型语法ID

CLOUD_GRAMMAR

public static final java.lang.String CLOUD_GRAMMAR

云端语法ID

即原GRAMMAR_ID参数。

在线语法识别时,通过设置此参数,使用对应的语法文件。语法ID由应用层使用SpeechRecognizer.buildGrammar(String, String, GrammarListener)构造语法后,通 过GrammarListener.onBuildFinish(String, SpeechError)回调返回。在应用层不 设置此参数,或此参数值为null,且SUBJECT参数不为ENG_ASR时, 将不使用任何语法,使用的是听写功能。另参考SpeechRecognizer的介绍。

关于语法文件的编写,请参考 语法编写指南

是否必须设置:否

默认值:null

值范围:有效的String类型语法ID

GRAMMAR_TYPE

public static final java.lang.String GRAMMAR_TYPE

语法类型

在使用识别识别时,需要设置与使用的类型一致语法类型的参数。构建本地语法 仅支持"bnf",构建在线语法支持“abnf”,在线语法识别还可以直接在识别时,设置为 语法类型为"url-list",并设置CLOUD_GRAMMAR为由服务端提供的语法链接 地址,使用服务器已经存在的语法路径(但目前此用法很少,不建议使用)。

是否必须设置:否

默认值:null

值范围:{ null, "abnf", "bnf", "url-list" }

GRAMMAR_LIST

public static final java.lang.String GRAMMAR_LIST

语法列表名

在本地语法识别时,在构建语法后,可通过 SpeechRecognizer.updateLexicon(String, String, LexiconListener)更新语法中 指定的词表,如本地语法“call”中的"contact",则指定本参数值为"call",在 SpeechRecognizer.updateLexicon(String, String, LexiconListener)的参数1中 指定值为"contact"。

是否必须设置:否

默认值:null

值范围:有效的String类型语法名字

NOTIFY_RECORD_DATA

public static final java.lang.String NOTIFY_RECORD_DATA

抛出录音数据

设置通过onEvent接口抛出听写、识别、语义业务的录音数据。当设为抛出时,会通过 监听器的onEvent函数,如RecognizerListener.onEvent(int, int, int, android.os.Bundle),回调返回音频数据, 事件ID为SpeechEvent.EVENT_RECORD_DATA。事件详情请参考该事件ID的说明。

是否必须设置:否

默认值:0

值范围:{ null, 0,1 }

ASR_THRESHOLD

public static final java.lang.String ASR_THRESHOLD

识别门限值

用在本地识别中,设置引擎只给出大于此门限值的识别结果。

是否必须设置:否

默认值:0

值范围:[0, 100]

ASR_NBEST

public static final java.lang.String ASR_NBEST

句子多侯选

在听写和语法、命令词识别时,通过设置此参数,获取在发音相似时的句子多侯选结 果。设置多候选会影响性能,响应时间延迟200ms左右。

是否必须设置:否

默认值:听写:1,语法或命令词:在线 3,本地 1

值范围:听写:[1, 5],语法或命令词:在线[0, 10], 本地{0, 1}

ASR_PTT

public static final java.lang.String ASR_PTT

标点符号

通过此参数,设置听写文本结果是否含标点符号。0表示不带标点,1则表示带标点。

是否必须设置:否

默认值:1

值范围:{ null, 0, 1 }

ASR_DWA

public static final java.lang.String ASR_DWA

动态修正 (暂不支持)

设置听写结果是否动态修正。为“1”则在听写过程中动态递增地返回结果,否则只 在听写结束之后返回最终结果。

是否必须设置:否

默认值:0

值范围:{ null, 0, 1 }

DVC_INFO

public static final java.lang.String DVC_INFO

设备信息

设置此参数为真时,在每次会话开始时,由SDK获取设备信息给服务器。在希望通过 听写或语义结果返回广告信息内容时,必须设置此参数为真。关于广告信息内容展示的广告控件 SDK,请通过讯飞开放平台下载。

是否必须设置:否

默认值:0

值范围:{ null, 0, 1 }

TYPE_LOCAL

public static final java.lang.String TYPE_LOCAL

常量值:本地引擎

TYPE_CLOUD

public static final java.lang.String TYPE_CLOUD

常量值:云端引擎

TYPE_AUTO

public static final java.lang.String TYPE_AUTO

常量值:自动引擎模型

public static final java.lang.String ISV_SST

ISV_PWDT

public static final java.lang.String ISV_PWDT

MFV_DATA_FORMAT

public static final java.lang.String MFV_DATA_FORMAT

声纹密码自由说模式必须参数

设置声纹密码类型。声纹密码类型为 2(自由说)时,必须带入此参数,目前只支持8k音频

是否必须设置:是

默认值:null

值范围:{8000}

ISV_RGN

public static final java.lang.String ISV_RGN

ISV_PWD

public static final java.lang.String ISV_PWD

声纹密码

在声纹注册和验证时,除自由说类型外,其余均需要设置对应类型的待注册或验 证的密码,且,密码需要从服务器中获取(见 SpeakerVerifier.getPasswordList(SpeechListener))。随机数字密码 验证时,通过SpeakerVerifier.generatePassword(int)获取密码。

是否必须设置:是

默认值:null

值范围:有效的密码字符串

ISV_INTERRUPT_ERROR

public static final java.lang.String ISV_INTERRUPT_ERROR

声纹会话中断报错

设置声纹会话被中断时(如当前会话未结束就开启了新会话等),是否通 过VerifierListener.onError(SpeechError)回调ErrorCode.ERROR_INTERRUPT错误。

是否必须设置:否

默认值:false

值范围:{ null, true, false }

ISE_USER_MODEL_ID

public static final java.lang.String ISE_USER_MODEL_ID

评测用户模型id

评测用户模型,是保存在服务器端的模型。由于目前暂不支持应用创建用户模型, 可忽略此参数。

是否必须设置:否

默认值:null

值范围:有效的用户模型ID

ISE_CATEGORY

public static final java.lang.String ISE_CATEGORY

评测题型

指定当前评测会话的题型,包括以下值:
read_syllable:朗读单字,英文评测不支持;
read_word:朗读词语;
read_sentence:朗读句子;
read_chapter:朗读篇章(需开通权限);
speaker_adapt:自适应,暂不支持;
choice_question:选择题型,暂不支持;

关于题型的详细说明,请参考试题格式说明

是否必须设置:是

默认值:null

值范围:{ null ,"read_syllable", "read_word", "read_sentence", "read_chapter" , "speaker_adapt", "choice_question" }

ISE_PARSED

public static final java.lang.String ISE_PARSED

试题是否已标注过

试卷未标注,云端会先调用标注引擎进行标注,然后把标注结果传给引擎; 试卷已标注,云端将直接传给引擎进行评测。标注指试题是否包含拼音标注。 关于试题的说明,请参考[ISE_CATEGORY]((https://www.xfyun.cn/doc/mscapi/Android/androidconstant.html#ise-category)。

是否必须设置:否

默认值:0

值范围:{ null, 0, 1 }

ISE_SOURCE_PATH

public static final java.lang.String ISE_SOURCE_PATH

评测音频源路径

外部音频文件的路径,在直接听写、识别音频文件时可通过设置此参数,传入文件的路 径,SDK自动读取文件进行识别,不用应用层调用SpeechEvaluator.writeAudio(byte[\], int, int) 接口传入音频流。仅在AUDIO_SOURCE值为-2时生效。

是否必须设置:否

默认值:null

值范围:String类型值的文件路径(含文件名)

类SpeechEvent

java.lang.Object com.iflytek.cloud.SpeechEvent


public class SpeechEvent extends java.lang.Object

事件类 事件类定义用于扩展事件回调中返回的事件ID。所有事件在设置生效后,通过 各业务监听类的onEvent函数回调,如 RecognizerListener.onEvent(int, int, int, android.os.Bundle)。应用层可选择性的处 理这些事件。

###字段概要

限定符和类型 字段和说明
staticint EVENT_AUDIO_URL 服务端音频url在消息到达时, RecognizerListener.onEvent(int,int,int,android.os.Bundle) 第4个参数obj,包含数据,通过 BaseBundle.getString(java.lang.String)指定KEY为 KEY_EVENT_AUDIO_URL 获取.
staticint EVENT_IST_AUDIO_FILE 转写音频文件消息转写功能暂未开放,相关参数设计预留在录音模式下,成功创建音频文件时返回。
staticint EVENT_IST_CACHE_LEFT 转写缓存剩余转写功能暂未开放,相关参数设计预留此消息仅在音频源为-1时需要关注。
staticint EVENT_IST_RESULT_TIME 转写结果等待时间消息转写功能暂未开放,相关参数设计预留在转写所有音频都上传完后,服务器可能返回结果处理需要的时间,但也可能不返回。
staticint EVENT_IST_SYNC_ID 转写转写音频同步ID消息转写功能暂未开放,相关参数设计预留在消息到达时
staticint EVENT_IST_UPLOAD_BYTES 转写已上传字节消息转写功能暂未开放,相关参数设计预留在消息到达时
staticint EVENT_IVW_RESULT 唤醒识别结果在消息到达时, WakeuperListener.onEvent(int,int,int,android.os.Bundle) 第2个参数arg1包含是否为最后一个结果:1为是,0为否;第4个参数obj中包含数据,通过 BaseBundle.get(String)指定KEY为 KEY_EVENT_IVW_RESULT 获取.
staticint EVENT_NETPREF 网络状态消息网络状态是SDK通过测试网络连接返回的[0,100]范围的状态值,值越高,表示网络状态越好。
staticint EVENT_RECORD_DATA 录音数据消息听写、识别、唤醒业务的录音数据消息。
staticint EVENT_RECORD_STOP 录音结束在停止录音后,返回此消息。
staticint EVENT_SESSION_BEGIN 会话开始消息在会话开始成功后返回
staticint EVENT_SESSION_END 会话结束消息在会话结束前返回
staticint EVENT_SESSION_ID 服务端会话id在消息到达时,可通过onEvent(int,int,int,android.os.Bundle)的第4个参数obj,调用 BaseBundle.getString(java.lang.String) 指定Key为 KEY_EVENT_SESSION_ID ,获取服务端会话id.
staticint EVENT_SPEECH_START 开始处理录音数据在录音开始后,SDK获取到第一段音频数据时,返回此消息。
staticint EVENT_TTS_BUFFER
TTS合成数据消息在消息到达时, SynthesizerListener.onEvent(int,int,int,android.os.Bundle) 的第4个参数obj中包含数据,通过 Bundle.getByteArray(java.lang.String)指定KEY为 EVENT_TTS_BUFFER 获取.
staticint EVENT_TTS_CANCEL 合成取消事件合成会话被取消时,返回此消息。
staticint EVENT_VAD_EOS VAD后端点消息在检测到VAD后端点时抛出,暂时只有身份验证的声纹业务用到
staticint EVENT_VOLUME 音量消息在得到音量时抛出,暂时只有身份验证的声纹业务用到
staticjava.lang.String KEY_EVENT_AUDIO_URL 服务端音频urlkey用于在 EVENT_AUDIO_URL 事件到达时,获取数据的KEY。
staticjava.lang.String KEY_EVENT_IST_UPLOAD_COMPLETE 转写是否已上传完标记KEY转写功能暂未开放,相关参数设计预留用于在 EVENT_IST_UPLOAD_BYTES 事件中,获取是否已上传完成。
staticjava.lang.String KEY_EVENT_IVW_RESULT 唤醒识别结果KEY用于在 EVENT_IVW_RESULT 事件到达时,获取结果数据的KEY。
staticjava.lang.String KEY_EVENT_RECORD_DATA 音频数据key用于在 EVENT_RECORD_DATA 事件到达时,获取音频数据的KEY。
staticjava.lang.String KEY_EVENT_SESSION_ID 服务端会话key用于在 EVENT_SESSION_ID 事件到达时,获取会话ID值的KEY。
staticjava.lang.String KEY_EVENT_TTS_BUFFER
TTS取音频数据key用于在 EVENT_TTS_BUFFER 事件到达时,获取音频数据的KEY。

构造器概要

构造器和说明
SpeechEvent()

方法概要

从类继承的方法 java.lang.Object

equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

字段详细资料

EVENT_NETPREF

public static final int EVENT_NETPREF

网络状态消息

网络状态是SDK通过测试网络连接返回的[0, 100]范围的状态值,值越高, 表示网络状态越好。网络状态值通过onEvent的参数2获取。

另请参阅: SpeechConstant.ASR_NET_PERF, 常量字段值

EVENT_SESSION_ID

public static final int EVENT_SESSION_ID

服务端会话id

在消息到达时,可通过onEvent(int, int, int, android.os.Bundle)的第4个参数obj,调用 BaseBundle.getString(java.lang.String)指定Key为KEY_EVENT_SESSION_ID, 获取服务端会话id.

另请参阅: KEY_EVENT_SESSION_ID, 常量字段值

KEY_EVENT_SESSION_ID

public static final java.lang.String KEY_EVENT_SESSION_ID

服务端会话 key

用于在EVENT_SESSION_ID事件到达时,获取会话ID值的KEY。 另请参阅: EVENT_SESSION_ID, 常量字段值

EVENT_TTS_BUFFER

public static final int EVENT_TTS_BUFFER

TTS合成数据消息

在消息到达时,SynthesizerListener.onEvent(int, int, int, android.os.Bundle) 的第4个参数obj中包含数据,通过Bundle.getByteArray(java.lang.String) 指定KEY为EVENT_TTS_BUFFER获取.

另请参阅: KEY_EVENT_TTS_BUFFER, SpeechConstant.TTS_DATA_NOTIFY, 常量字段值

KEY_EVENT_TTS_BUFFER

public static final java.lang.String KEY_EVENT_TTS_BUFFER

TTS 取音频数据key

用于在EVENT_TTS_BUFFER事件到达时,获取音频数据的KEY。

另请参阅: EVENT_TTS_BUFFER, 常量字段值

EVENT_TTS_CANCEL

public static final int EVENT_TTS_CANCEL

合成取消事件

合成会话被取消时,返回此消息。

另请参阅: SpeechSynthesizer.stopSpeaking(), 常量字段值

EVENT_RECORD_DATA

public static final int EVENT_RECORD_DATA

录音数据消息

听写、识别、唤醒业务的录音数据消息。在消息到达时, onEvent 的第3个参数为音量(非唤醒业务时),第4个参数obj中包含音频数据,通 过Bundle.getByteArray(java.lang.String) 指定KEY为KEY_EVENT_RECORD_DATA获取。

另请参阅: KEY_EVENT_RECORD_DATA, 常量字段值

KEY_EVENT_RECORD_DATA

public static final java.lang.String KEY_EVENT_RECORD_DATA

音频数据key

用于在EVENT_RECORD_DATA事件到达时,获取音频数据的KEY。

另请参阅: EVENT_RECORD_DATA, 常量字段值

EVENT_IVW_RESULT

public static final int EVENT_IVW_RESULT

唤醒识别结果

在消息到达时,WakeuperListener.onEvent(int, int, int, android.os.Bundle)第2个参数arg1包含是否为 最后一个结果:1为是,0为否;第4个参数obj中包含数据,通过BaseBundle.get(String) 指定KEY为KEY_EVENT_IVW_RESULT获取.

另请参阅: KEY_EVENT_IVW_RESULT, SpeechConstant.IVW_SST, 常量字段值

KEY_EVENT_IVW_RESULT

public static final java.lang.String KEY_EVENT_IVW_RESULT

唤醒识别结果KEY

用于在EVENT_IVW_RESULT事件到达时,获取结果数据的KEY。

另请参阅: EVENT_IVW_RESULT, 常量字段值

EVENT_SPEECH_START

public static final int EVENT_SPEECH_START

开始处理录音数据

在录音开始后,SDK获取到第一段音频数据时,返回此消息。随后,如果有设置 抛出录音数据,则会通过 EVENT_RECORD_DATA返回第一段音频数据。此消息一般在RecognizerListener.onBeginOfSpeech()回调后到达。

另请参阅: EVENT_RECORD_DATA, EVENT_RECORD_STOP, RecognizerListener.onBeginOfSpeech(), 常量字段值

EVENT_RECORD_STOP

public static final int EVENT_RECORD_STOP

录音结束

在停止录音后,返回此消息。无论是SDK通过SpeechConstant.VAD_EOS检测到尾端点, 还是应用层主动结束录音,都会返回此消息。

另请参阅: EVENT_SPEECH_START, RecognizerListener.onEndOfSpeech(), 常量字段值

EVENT_AUDIO_URL

public static final int EVENT_AUDIO_URL

服务端音频url

在消息到达时,RecognizerListener.onEvent(int, int, int, android.os.Bundle) 第4个参数obj,包含数据,通过BaseBundle.getString(java.lang.String) 指定KEY为KEY_EVENT_AUDIO_URL获取.

另请参阅: 常量字段值

KEY_EVENT_AUDIO_URL

public static final java.lang.String KEY_EVENT_AUDIO_URL

服务端音频url key

用于在EVENT_AUDIO_URL事件到达时,获取数据的KEY。

另请参阅: EVENT_AUDIO_URL, 常量字段值

EVENT_IST_AUDIO_FILE

public static final int EVENT_IST_AUDIO_FILE

转写音频文件消息

转写功能暂未开放,相关参数设计预留 在录音模式下,成功创建音频文件时返回。指定Key为SpeechConstant.IST_AUDIO_PATH,获取音频文件绝对路径. 指定Key为SpeechConstant.IST_AUDIO_PATH,获取音频文件绝对路径.

另请参阅: 常量字段值

EVENT_IST_UPLOAD_BYTES

public static final int EVENT_IST_UPLOAD_BYTES

转写已上传字节消息

转写功能暂未开放,相关参数设计预留 在消息到达时,由于所有音频字节大小会变。 当停止音频输入后(等待录音时间超时 SpeechConstant.KEY_SPEECH_TIMEOUT,且服务器收到所有音频时,第四个参数obj,将包含完成标记的布尔值(true),可通过obj调用BaseBundle.getBoolean(java.lang.String)指定KEY为KEY_EVENT_IST_UPLOAD_COMPLETE获取。 此消息可能多次返回.

另请参阅: SpeechConstant.IST_AUDIO_UPLOADED,常量字段值

EVENT_IST_CACHE_LEFT

public static final int EVENT_IST_CACHE_LEFT

转写缓存剩余

转写功能暂未开放,相关参数设计预留 此消息仅在音频源为-1时需要关注。 此事件在调用写音频接口、及音频最后被写入底层库时分别回调一次。

另请参阅: 常量字段值

KEY_EVENT_IST_UPLOAD_COMPLETE

public static final java.lang.String KEY_EVENT_IST_UPLOAD_COMPLETE

转写是否已上传完标记KEY

转写功能暂未开放,相关参数设计预留 用于在EVENT_IST_UPLOAD_BYTES事件中,获取是否已上传完成。

另请参阅: EVENT_IST_UPLOAD_BYTES, 常量字段值

EVENT_IST_RESULT_TIME

```
public static final int EVENT_IST_RESULT_TIME
```

转写结果等待时间消息

转写功能暂未开放,相关参数设计预留 在转写所有音频都上传完后,服务器可能返回结果处理需要的时间,但也可能不返回。

另请参阅: SpeechConstant.IST_SESSION_ID, SpeechConstant.IST_AUDIO_UPLOADED, SpeechConstant.IST_SYNC_ID, 常量字段值

EVENT_IST_SYNC_ID

public static final int EVENT_IST_SYNC_ID

转写转写音频同步ID消息

转写功能暂未开放,相关参数设计预留 在消息到达时,获取当前写音频同步ID. 此消息可能多次返回.

另请参阅: SpeechConstant.IST_SYNC_ID, 常量字段值

EVENT_SESSION_BEGIN

public static final int EVENT_SESSION_BEGIN

会话开始消息

在会话开始成功后返回

另请参阅: 常量字段值

EVENT_SESSION_END

public static final int EVENT_SESSION_END

会话结束消息

在会话结束前返回

另请参阅: 常量字段值

EVENT_VOLUME

    public static final int EVENT_VOLUME

音量消息

在得到音量时抛出,暂时只有身份验证的声纹业务用到

另请参阅: 常量字段值

EVENT_VAD_EOS

    public static final int EVENT_VAD_EOS

VAD后端点消息

在检测到VAD后端点时抛出,暂时只有身份验证的声纹业务用到

另请参阅: 常量字段值

构造器详细资料

SpeechEvent
public SpeechEvent()

类Version

java.lang.Object com.iflytek.cloud.Version


public class Version extends java.lang.Object 版本信息类

构造器概要

构造器和说明
Version()

方法概要

限定符和类型 方法和说明
static java.lang.String getVersion()获取控件版本号

从类继承的方法 java.lang.Object

equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

构造器详细资料

Version

public Version()

方法详细资料

getVersion

public static java.lang.String getVersion()

获取控件版本号

返回:版本号,如:4.5.1027(控件版本号字段).1001(so库版本字段) 融合之后版本号升级为4.0 第二位 5表示v5,6表示v5+ 第三位控件版本号 第四位so库版本号

枚举Setting.LOG_LEVEL

java.lang.Object java.lang.Enum<Setting.LOG_LEVEL> com.iflytek.cloud.Setting.LOG_LEVEL

所有已实现的接口:

java.io.Serializable, java.lang.Comparable<Setting.LOG_LEVEL>

封闭类:

Setting


public static enum Setting.LOG_LEVEL extends java.lang.Enum<Setting.LOG_LEVEL> 日志级别 日志按重要程度区分了级别。

另请参阅: Setting.setLogLevel(com.iflytek.cloud.Setting.LOG_LEVEL)")

枚举常量概要

枚举常量和说明
all
保留所有日志
detail
保留INFO等级日志
low
保留ERR等级日志
none
不保留任何日志
normal
保留DEBUG等级日志

方法概要

限定符和类型 方法和说明
static Setting.LOG_LEVEL valueOf(java.lang.String name)
返回带有指定名称的该类型的枚举常量。
static Setting.LOG_LEVEL[] values()
按照声明该枚举类型的常量的顺序, 返回 包含这些常量的数组。

从类继承的方法 java.lang.Enum

compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf

从类继承的方法 java.lang.Object

getClass, notify, notifyAll, wait, wait, wait

枚举常量详细资料

all

public static final Setting.LOG_LEVEL all
保留所有日志

detail

public static final Setting.LOG_LEVEL detail`
保留INFO等级日志

normal

public static final Setting.LOG_LEVEL normal
保留DEBUG等级日志

low

public static final Setting.LOG_LEVEL low
保留ERR等级日志

none

public static final Setting.LOG_LEVEL none
不保留任何日志

方法详细资料

values

public static Setting.LOG_LEVEL[] values()

按照声明该枚举类型的常量的顺序, 返回 包含这些常量的数组。该方法可用于迭代 常量, 如下所示:

for (Setting.LOG_LEVEL c : Setting.LOG_LEVEL.values())
                                System.out.println(c);

返回:
按照声明该枚举类型的常量的顺序返回的包含这些常量的数组

valueOf

public static Setting.LOG_LEVEL valueOf(java.lang.String name)

返回带有指定名称的该类型的枚举常量。 字符串必须与用于声明该类型的枚举常量的 标识符完全匹配。(不允许有多余 的空格字符。)

参数:
name - 要返回的枚举常量的名称。

返回:
返回带有指定名称的枚举常量

抛出:
java.lang.IllegalArgumentException - 如果该枚举类型没有带有指定名称的常量
java.lang.NullPointerException - 如果参数为空值

异常错误SpeechError

java.lang.Object java.lang.Throwable java.lang.Exception com.iflytek.cloud.SpeechError

所有已实现的接口: java.io.Serializable


public class SpeechError extends java.lang.Exception
错误信息类 当业务会话出现错误时,通过onError函数,返回类对象。 应用层可通过此类获取错误描述信息,以及具体的错误码。应用层只使用 回调返回的现成对象,非必要情况下,不必在应用层实例化本类对象。 ###字段概要

限定符和类型 字段和说明
staticint TIP_ERROR_ALREADY_EXIST
模型或记录已存在
staticint TIP_ERROR_AUTHID_NOT_AVAILABLE
staticint TIP_ERROR_GROUP_EMPTY
空组
staticint TIP_ERROR_IVP_EXTRA_RGN_SOPPORT
rgn超过最大支持次数9
staticint TIP_ERROR_IVP_GENERAL
内核异常
staticint TIP_ERROR_IVP_MUCH_NOISE
太多噪音
staticint TIP_ERROR_IVP_NO_ENOUGH_AUDIO
音频长度达不到自由说的要求
staticint TIP_ERROR_IVP_TEXT_NOT_MATCH
音频内容与给定文本不一致
staticint TIP_ERROR_IVP_TOO_LOW
声音太小
staticint TIP_ERROR_IVP_TRUNCATED
音频波形幅度太大,超出系统范围,发生截幅
staticint TIP_ERROR_IVP_UTTER_TOO_SHORT
音频太短
staticint TIP_ERROR_IVP_ZERO_AUDIO
没检测到音频
staticint TIP_ERROR_MODEL_IS_CREATING
模型数据正在生成
staticint TIP_ERROR_MODEL_NOT_FOUND
模型数据不存在
staticint TIP_ERROR_NO_GROUP
组不存在,未创建
staticint TIP_ERROR_NO_USER
组内没有该用户
staticint TIP_ERROR_OVERFLOW_IN_GROUP
用户数量超过组上限或者组创建数量超过上限

构造器概要

构造器和说明
SpeechError(java.lang.Exception e)
SpeechError(int errorCode)
初始化SpeechError对象 映射errorCode到errorDescription上.
SpeechError(int errorCode, java.lang.String engineType)
SpeechError(java.lang.Throwable cause, int errorCode)

###方法概要

限定符和类型 方法和说明
int getErrorCode()
获取错误码获取错误对应用的具体错误码,[10000,20000)的错误码为底层共享库和服务器返回的错误码,[20000,+∞)为jar层返回的错误。
java.lang.String getErrorDescription()
获取错误描述不包含错误码的描述信息。
java.lang.String getHtmlDescription(booleancontainCode)
获取html错误描述获取html格式的错误描述。
java.lang.String getPlainDescription(booleancontainCode)
获取错误描述包含错误码的描述信息。
java.lang.String toString()
转为字符串把当前的信息转为字符串类,与getPlainDescription(boolean)参数为true时的效果一致。

从类继承的方法 java.lang.Throwable

addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace

从类继承的方法 java.lang.Object

equals, getClass, hashCode, notify, notifyAll, wait, wait, wait

字段详细资料

TIP_ERROR_IVP_GENERAL

public static final int TIP_ERROR_IVP_GENERAL

内核异常

TIP_ERROR_IVP_EXTRA_RGN_SOPPORT

public static final int TIP_ERROR_IVP_EXTRA_RGN_SOPPORT

rgn超过最大支持次数9

TIP_ERROR_IVP_TRUNCATED

public static final int TIP_ERROR_IVP_TRUNCATED

音频波形幅度太大,超出系统范围,发生截幅

TIP_ERROR_IVP_MUCH_NOISE

public static final int TIP_ERROR_IVP_MUCH_NOISE

太多噪音

TIP_ERROR_IVP_TOO_LOW

public static final int TIP_ERROR_IVP_TOO_LOW

声音太小

TIP_ERROR_IVP_ZERO_AUDIO

public static final int TIP_ERROR_IVP_ZERO_AUDIO

没检测到音频

TIP_ERROR_IVP_UTTER_TOO_SHORT

public static final int TIP_ERROR_IVP_UTTER_TOO_SHORT

音频太短

TIP_ERROR_IVP_TEXT_NOT_MATCH

public static final int TIP_ERROR_IVP_TEXT_NOT_MATCH

音频内容与给定文本不一致

TIP_ERROR_IVP_NO_ENOUGH_AUDIO

public static final int TIP_ERROR_IVP_NO_ENOUGH_AUDIO

音频长度达不到自由说的要求

TIP_ERROR_MODEL_NOT_FOUND

public static final int TIP_ERROR_MODEL_NOT_FOUND

模型数据不存在

TIP_ERROR_MODEL_IS_CREATING

public static final int TIP_ERROR_MODEL_IS_CREATING

模型数据正在生成

TIP_ERROR_ALREADY_EXIST

public static final int TIP_ERROR_ALREADY_EXIST

模型或记录已存在

TIP_ERROR_NO_GROUP

public static final int TIP_ERROR_NO_GROUP

组不存在,未创建

TIP_ERROR_GROUP_EMPTY

public static final int TIP_ERROR_GROUP_EMPTY

空组

TIP_ERROR_NO_USER

public static final int TIP_ERROR_NO_USER

组内没有该用户

TIP_ERROR_OVERFLOW_IN_GROUP

public static final int TIP_ERROR_OVERFLOW_IN_GROUP

用户数量超过组上限或者组创建数量超过上限

TIP_ERROR_AUTHID_NOT_AVAILABLE

public static final int TIP_ERROR_AUTHID_NOT_AVAILABLE

构造器详细资料

SpeechError

public SpeechError(java.lang.Exception e)

SpeechError

public SpeechError(java.lang.Throwable cause,
                   int errorCode)

SpeechError

public SpeechError(int errorCode,
                   java.lang.String engineType)

SpeechError

public SpeechError(int errorCode)

初始化SpeechError对象 映射errorCode到errorDescription上.

  • 参数:

    errorCode - 错误码

方法详细资料

toString

public java.lang.String toString()

转为字符串

把当前的信息转为字符串类,与getPlainDescription(boolean) 参数为true时的效果一致。

getErrorCode

public int getErrorCode()

获取错误码

获取错误对应用的具体错误码,[10000, 20000)的错误码为底层共享库和 服务器返回的错误码,[20000, +∞)为 jar 层返回的错误。具体错误码值,请 参考ErrorCode

getErrorDescription

public java.lang.String getErrorDescription()

获取错误描述

不包含错误码的描述信息。描述信息有助于开发者和用户处理引起错误的 原因。

getHtmlDescription

public java.lang.String getHtmlDescription(boolean containCode)

获取html错误描述

获取html格式的错误描述。

getPlainDescription

public java.lang.String getPlainDescription(boolean containCode)

获取错误描述

包含错误码的描述信息。描述信息有助于开发者和用户处理引起错误的 原因。