package com.ztspeech.simutalk2.qa; import java.io.ByteArrayInputStream; import java.io.InputStream; import android.content.Context; import android.os.Handler; import android.os.Message; import com.ztspeech.recognizer.speak.VoicePlayer; import com.ztspeech.simutalk2.data.VoiceData; import com.ztspeech.simutalk2.net.HttpBaseEngine; public class GetVoiceFromServerEngine extends HttpBaseEngine { private Handler handler; private VoicePlayer mPlayer = null; public GetVoiceFromServerEngine(Context context, VoicePlayer mPlayer, Handler handler) { super(context); this.handler = handler; this.mPlayer = mPlayer; } @Override public void onPreHttp() { showLoading(); } @Override public void onParseHttp(byte[] response) { } @Override public void onPostHttp(Object result) { dismissLoading(); if (result == null) { if (!isCancel) { handler.sendMessage(Message.obtain(handler, 2));// ���ؽ��Ϊ�� } else { handler.sendMessage(Message.obtain(handler, 0));// �û�ȡ������ } } else if (result != null && !isCancel) { byte[] tmpResult = (byte[]) result; boolean flag = VoiceData.isVoice(tmpResult.length); if (flag) { InputStream s = new ByteArrayInputStream(tmpResult); if (mPlayer != null) { mPlayer.play(s); handler.sendMessage(Message.obtain(handler, 3)); } else { handler.sendMessage(Message.obtain(handler, 1));// ������δ��ʼ�������ų��� } } else { handler.sendMessage(Message.obtain(handler, 2));// �������ش��� } } } }