讯飞语音包实现Android语音理解②

文本语义理解

您可以通过后台配置出一套您专属的语义结果,详见 http://osp.voicecloud.cn/

核心代码如下:

<span style="font-size:18px;">public class MainActivity extends Activity implements OnClickListener {
	private Button button;
	private EditText tv1;
	private TextView tv2;
	private TextUnderstander textUnderstander;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		SpeechUtility.createUtility(this, "appid=12345678");
		textUnderstander = TextUnderstander.createTextUnderstander(this, null);
	button =(Button) findViewById(R.id.button1);
		tv1 = (EditText) findViewById(R.id.tv1);
		tv2 = (TextView) findViewById(R.id.tv2);
		tv2.setMovementMethod(ScrollingMovementMethod.getInstance());
		button.setOnClickListener(this);
	}

	@Override
	public void onClick(View v) {
		// TODO Auto-generated method stub
		switch (v.getId()) {
		case R.id.button1:
			if(textUnderstander.isUnderstanding())
			{
				textUnderstander.cancel();
			}
			textUnderstander.understandText(tv1.getText().toString().trim(),
					listener);
			break;

		default:
			break;
		}
	}

	private TextUnderstanderListener listener = new TextUnderstanderListener() {

		@Override
		public void onResult(UnderstanderResult arg0) {
			// TODO Auto-generated method stub
			tv2.setText(arg0.getResultString());
		}

		@Override
		public void onError(SpeechError arg0) {
			// TODO Auto-generated method stub

		}
	};
	
	@Override
	protected void onDestroy()
	{
	super.onDestroy();
	textUnderstander.destroy();
	}
	</span><span style="font-size: 18px;">
</span>


posted @ 2016-04-15 15:37  稻香鱼  阅读(114)  评论(0)    收藏  举报