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) {
}
};