[TOC]
您可以通过后台配置出一套您专属的语义结果,详见[《MSC Reference Manual》](http://mscdoc.xfyun.cn/java/api)关于SpeechUnderstander类的介绍。
## 语音语义
~~~
//1.创建文本语义理解对象
SpeechUnderstander understander = SpeechUnderstander.createUnderstander( );
//2.设置参数
understander.setParameter(SpeechConstant.LANGUAGE, "zh_cn");
//3.开始语义理解
understander.startUnderstanding(mUnderstanderListener);
// XmlParser为结果解析类,见SpeechDemo
private SpeechUnderstanderListener mUnderstanderListener = new SpeechUnderstanderListener(){
public void onResult(UnderstanderResult result) {
String text = result.getResultString();
}
public void onError(SpeechError error) {}//会话发生错误回调接口
public void onBeginOfSpeech() {}//开始录音
public void onVolumeChanged(int volume){} //音量值0~30
public void onEndOfSpeech() {}//结束录音
public void onEvent(int eventType, int arg1, int arg2, String msg) {}//扩展用接口
};
~~~
## 文本语义
用户通过输入文本获取语义结果。
~~~
//创建文本语义理解对象
TextUnderstander mTextUnderstander = new TextUnderstander( );
//开始语义理解
mTextUnderstander.understandText("今天的天气", searchListener);
//初始化监听器
TextUnderstanderListener searchListener = new TextUnderstanderListener(){
//语义结果回调
public void onResult(UnderstanderResult result){}
//语义错误回调
public void onError(SpeechError error) {}
};
~~~