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
- 识别对话框监听器RecognizerDialogListener
public 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.MscDialog
dismiss()
,
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.MscDialog
show()
,
SpeechRecognizer.cancel()