public abstract class AsrRecorder
extends java.lang.Object
这是一个抽象类,实现了平台无关的业务逻辑部分。各平台的录音机由此类派生(例如: AndroidAsrRecorder),使用者也可以根据自己的需要派生实现自己的录音机。
使用本类及其派生类前,请调用 HciCloudSys.hciInit(String, Object) 初始化灵云 SDK,并检查授权是否可用。

| 限定符和类型 | 字段和说明 |
|---|---|
static int |
REPORT_AUDIO_AND_LEVEL
录制音频回调: 调用
AsrRecorderListener.onAudioRecorded(byte[], int) 传入音频数据 audioData 和计算得出的 audioLevel |
static int |
REPORT_AUDIO_OFF
录制音频回调: 不调用
AsrRecorderListener.onAudioRecorded(byte[], int) |
static int |
REPORT_AUDIO_ONLY
录制音频回调: 调用
AsrRecorderListener.onAudioRecorded(byte[], int) 但只传入音频数据 audioData,不计算 audioLevel |
static int |
STARTED
录音机状态:录音机会话已启动。
|
static int |
STOPPING
录音机状态:录音机会话停止中。
|
static int |
UNINITIALIZED
录音机状态:录音机未初始化。
|
| 构造器和说明 |
|---|
AsrRecorder(AsrRecorderListener handler)
构造函数
|
| 限定符和类型 | 方法和说明 |
|---|---|
void |
cancel()
在录音停止的状态下,取消仍在进行的识别,会话会马上停止。
|
int |
getState()
获取录音机状态
|
void |
setAudioReportMethod(int method)
设置音频数据回调方式,请参考
AsrRecorderListener.onAudioRecorded(byte[], int)
共支持三种方法:REPORT_AUDIO_OFF, REPORT_AUDIO_ONLY, REPORT_AUDIO_AND_LEVEL |
boolean |
start(java.lang.String config,
java.lang.String asrInitConfig,
java.lang.String grammarData,
java.lang.String grammarConfig)
启动录音会话。
|
void |
stop(boolean cancel)
停止录音。
|
public static final int UNINITIALIZED
录音机状态:录音机未初始化。
创建实例化后或者录音会话结束后处于这种状态
public static final int STARTED
录音机状态:录音机会话已启动。
调用 AsrRecorder#start(String, String) 成功后进入本状态
public static final int STOPPING
录音机状态:录音机会话停止中。
传入 false 调用 stop(boolean) 后进入这个状态, 当语 音识别完成后进入 UNINITIALIZED 状态
public static final int REPORT_AUDIO_OFF
录制音频回调: 不调用 AsrRecorderListener.onAudioRecorded(byte[], int)
public static final int REPORT_AUDIO_ONLY
录制音频回调: 调用 AsrRecorderListener.onAudioRecorded(byte[], int) 但只传入音频数据 audioData,不计算 audioLevel
public static final int REPORT_AUDIO_AND_LEVEL
录制音频回调: 调用 AsrRecorderListener.onAudioRecorded(byte[], int) 传入音频数据 audioData 和计算得出的 audioLevel
public AsrRecorder(AsrRecorderListener handler)
构造函数
handler - 事件回调接口public int getState()
获取录音机状态
UNINITIALIZED, STARTED 和 STOPPING 三者之一public void setAudioReportMethod(int method)
设置音频数据回调方式,请参考 AsrRecorderListener.onAudioRecorded(byte[], int)
共支持三种方法:REPORT_AUDIO_OFF, REPORT_AUDIO_ONLY, REPORT_AUDIO_AND_LEVEL
method - 回调方式public boolean start(java.lang.String config,
java.lang.String asrInitConfig,
java.lang.String grammarData,
java.lang.String grammarConfig)
启动录音会话。
是否启动成功,请判断函数返回值
config - 语音识别设置参数,请参考灵云 SDK 开发手册中的 ASR 能力部分。asrInitConfig - ASR能力设置参数,请参考灵云 SDK 开发手册中的 ASR 能力部分。可以设 置为 null,此时需要由使用者负责对灵云 ASR 能力进行初始化/反初始化。public void stop(boolean cancel)
停止录音。
cancel - 设置为 true 将同时取消识别,会话会马上停止。设置为 false 时继续识 别,直到语音识别完成后会话才结束。public void cancel()
在录音停止的状态下,取消仍在进行的识别,会话会马上停止。