public class RecognizerDialog
extends com.iflytek.cloud.ui.control.MscDialog
识别对话框是识别时,SDK自带的,用于用户交互的对话框界面。关于无对话框识别,
请参考SpeechRecognizer。
调用show()显示对话框后,自动开始录音(当设置
音频源为麦克风时),
即相当于调用了SpeechRecognizer.startListening(com.iflytek.cloud.RecognizerListener)。
在录音过程中点击对话框内任意地方停止录音并等待结果返回,即相当于调用了
SpeechRecognizer.stopListening()。点击对话框外的
任意地方取消识别,对话框自动消失,即相当于调用了
SpeechRecognizer.cancel()。
可以调用#setOnDismissListener来设置对话框消失时的监听器。
因识别对话框,实际上还是调用了SpeechRecognizer的单例
进行识别会话(在首次通过构造函数创建实例时,自动创建
SpeechRecognizer的单例),所以应用不能在识别对话框还在进
行会话(对话框在显示)时,调用 SpeechRecognizer.startListening(com.iflytek.cloud.RecognizerListener)
开启新的会话。
SpeechRecognizer,
RecognizerDialogListener| 构造器和说明 |
|---|
RecognizerDialog(Context context,
InitListener listener)
构造函数
初始化一个识别对话框。
|
| 限定符和类型 | 方法和说明 |
|---|---|
void |
dismiss()
消失
使弹出框消失,同时取消当前会话,即相当于点击了对话框外的其他地方,
或相当于调用了
SpeechRecognizer.cancel()。 |
void |
setListener(RecognizerDialogListener listener)
设置识别对话框监听器
通过监听器,获取识别状态和结果。
|
void |
setParameter(java.lang.String key,
java.lang.String value)
|
void |
setUILanguage(java.util.Locale lan)
设置对话框语言
目前支持以下语言:
简体中文: Locale.CHINA;
繁体中文: Locale.TRADITIONAL_CHINESE;
美式英语: Locale.US;
|
void |
show()
显示
显示对话框,并开始识别,即相当于调用了
SpeechRecognizer.startListening(com.iflytek.cloud.RecognizerListener)。 |
public RecognizerDialog(Context context,
InitListener listener)
初始化一个识别对话框。
context - 上下文环境变量listener - 初始化监听器SpeechRecognizer.createRecognizer(Context, com.iflytek.cloud.InitListener)public void setListener(RecognizerDialogListener listener)
通过监听器,获取识别状态和结果。
listener - 识别对话框监听器RecognizerDialogListenerpublic void setParameter(java.lang.String key,
java.lang.String value)
public void setUILanguage(java.util.Locale lan)
目前支持以下语言:
简体中文:Locale.CHINA;
繁体中文:Locale.TRADITIONAL_CHINESE;
美式英语:Locale.US;
lan - 语言种类,见上文说明。public void show()
显示对话框,并开始识别,即相当于调用了SpeechRecognizer.startListening(com.iflytek.cloud.RecognizerListener)。
若当前音频源为麦克风,
将自动开启录音;若音频源为
写音频流,则应用可通过调用SpeechRecognizer.writeAudio(byte[], int, int)写
入音频数据。
关于对话框显示过程的其他操作,参考类说明。
show 在类中 com.iflytek.cloud.ui.control.MscDialogdismiss(),
SpeechRecognizer.writeAudio(byte[], int, int),
SpeechConstant.AUDIO_SOURCE,
SpeechRecognizer.startListening(com.iflytek.cloud.RecognizerListener)public void dismiss()
使弹出框消失,同时取消当前会话,即相当于点击了对话框外的其他地方,
或相当于调用了SpeechRecognizer.cancel()。
会话被取消后,未返回的结果将不再返回。
dismiss 在类中 com.iflytek.cloud.ui.control.MscDialogshow(),
SpeechRecognizer.cancel()