private
InitListener mInitListener =
new
InitListener() {
@Override
public
void
onInit(
int
code) {
Log.d(TAG,
"SpeechRecognizer init() code = "
+ code);
if
(code == ErrorCode.SUCCESS) {
findViewById(R.id.isr_recognize).setEnabled(
true
);
}
}
};
private
GrammarListener grammarListener =
new
GrammarListener() {
@Override
public
void
onBuildFinish(
String
grammarId, SpeechError error) {
if
(error ==
null
){
String
grammarID =
new
String
(grammarId);
Editor editor = mSharedPreferences.edit();
if
(!TextUtils.isEmpty(grammarId))
editor.putString(KEY_GRAMMAR_ABNF_ID, grammarID);
editor.commit();
showTip(
"语法构建成功:"
+ grammarId);
}
else
{
showTip(
"语法构建失败,错误码:"
+ error.getErrorCode());
}
}
};
private
RecognizerListener mRecognizerListener =
new
RecognizerListener() {
@Override
public
void
onVolumeChanged(
int
volume) {
showTip(
"当前正在说话,音量大小:"
+ volume);
}
@Override
public
void
onResult(
final
RecognizerResult result, boolean isLast) {
runOnUiThread(
new
Runnable() {
@Override
public
void
run() {
if
(
null
!= result) {
Log.d(TAG,
"recognizer result:"
+ result.getResultString());
String
text =
""
;
if
(mEngineType.equals(SpeechConstant.TYPE_CLOUD))
{
text = JsonParser.parseGrammarResult(result.getResultString());
}
else
{
text = XmlParser.parseNluResult(result.getResultString());
}
Boolean
analyzeRelult = analyzeWords(text);
if
(analyzeRelult)
{
controlFan(mWindLevel);
}
}
else
{
Log.d(TAG,
"recognizer result : null"
);
}
SystemClock.sleep(
100
);
Button recognizeButton = (Button)findViewById(R.id.isr_recognize);
recognizeButton.performClick();
}
});
}
@Override
public
void
onEndOfSpeech() {
showTip(
"结束说话"
);
}
@Override
public
void
onBeginOfSpeech() {
showTip(
"开始说话"
);
}
@Override
public
void
onError(SpeechError error) {
showTip(
"onError Code:"
+ error.getErrorCode());
SystemClock.sleep(
100
);
Button recognizeButton = (Button)findViewById(R.id.isr_recognize);
recognizeButton.performClick();
}
@Override
public
void
onEvent(
int
eventType,
int
arg1,
int
agr2,
String
msg) {
}
};