远程控制

C h e r r y 科大讯飞语音服务Android... 最后由 极客学院_吕布 于2016年05月04日回复

  • 1 回答
  • 1.4k 浏览

import android.app.Activity;

import android.app.Fragment;

import android.os.Bundle;

import android.util.JsonReader;

import android.util.Log;

import android.view.LayoutInflater;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.view.View.OnClickListener;

import android.view.ViewGroup;

import android.widget.Button;

import com.iflytek.cloud.InitListener;

import com.iflytek.cloud.RecognizerListener;

import com.iflytek.cloud.RecognizerResult;

import com.iflytek.cloud.SpeechConstant;

import com.iflytek.cloud.SpeechError;

import com.iflytek.cloud.SpeechRecognizer;

import com.iflytek.cloud.SpeechUtility;

public class MainActivity extends Activity {

private Button button1;

private SpeechRecognizer mIat;

private String TAG = "chenyu";

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        button1=(Button)findViewById(R.id.button1);

        SpeechUtility.createUtility(this,"appid=5711e9ca");

        mIat = SpeechRecognizer.createRecognizer(this,mInitListener);

        button1.setOnClickListener(new OnClickListener(){

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

setParam();

int ret = mIat.startListening(mRecognizerListener);

Log.d(TAG,"startListening ret:"+ret);

}});

        if (savedInstanceState == null) {

            getFragmentManager().beginTransaction()

                    .add(R.id.container, new PlaceholderFragment())

                    .commit();

        }

    }

    @Override

    public boolean onCreateOptionsMenu(Menu menu) {

        

        // Inflate the menu; this adds items to the action bar if it is present.

        getMenuInflater().inflate(R.menu.main, menu);

        return true;

    }

    @Override

    public boolean onOptionsItemSelected(MenuItem item) {

        // Handle action bar item clicks here. The action bar will

        // automatically handle clicks on the Home/Up button, so long

        // as you specify a parent activity in AndroidManifest.xml.

        int id = item.getItemId();

        if (id == R.id.action_settings) {

            return true;

        }

        return super.onOptionsItemSelected(item);

    }

    /**

     * A placeholder fragment containing a simple view.

     */

    public static class PlaceholderFragment extends Fragment {

        public PlaceholderFragment() {

        }

        @Override

        public View onCreateView(LayoutInflater inflater, ViewGroup container,

                Bundle savedInstanceState) {

            View rootView = inflater.inflate(R.layout.fragment_main, container, false);

            return rootView;

        }

    }

    /**

* ��ʼ����������

*/

private InitListener mInitListener = new InitListener() {

@Override

public void onInit(int code) {

Log.d(TAG, "SpeechRecognizer init() code = " + code);

}

};

/**

* ��������

* @param param

* @return

*/

public void setParam() {

// ��ղ���

mIat.setParameter(SpeechConstant.DOMAIN,"iat");

// ���������

mIat.setParameter(SpeechConstant.LANGUAGE,"zh_cn");

// ���÷��ؽ����ʽ

mIat.setParameter(SpeechConstant.ACCENT, "mandarin");

   }

/**

* ���������

*/

private RecognizerListener mRecognizerListener = new RecognizerListener() {

@Override

public void onBeginOfSpeech() {

// �˻ص���ʾ��sdk�ڲ�¼�����Ѿ�׼�����ˣ��û����Կ�ʼ��������

}

@Override

public void onError(SpeechError error) {

// Tips��

// �����룺10118(��û��˵��)��������¼����Ȩ�ޱ�������Ҫ��ʾ�û���Ӧ�õ�¼��Ȩ�ޡ�

// ���ʹ�ñ��ع��ܣ���ǣ���Ҫ��ʾ�û�������ǵ�¼��Ȩ�ޡ�

}

@Override

public void onEndOfSpeech() {

// �˻ص���ʾ����⵽��������β�˵㣬�Ѿ�����ʶ����̣����ٽ�����������

}

@Override

public void onResult(RecognizerResult results, boolean isLast) {

Log.d(TAG,results.getResultString());

new SocketClient(results.getResultString());

}

@Override

public void onVolumeChanged(int volume, byte[] data) {

}

@Override

public void onEvent(int eventType, int arg1, int arg2, Bundle obj) {

// ���´������ڻ�ȡ���ƶ˵ĻỰid����ҵ�����ʱ���Ựid�ṩ������֧����Ա�������ڲ�ѯ�Ự��־����λ����ԭ��

// ��ʹ�ñ����������ỰidΪnull

// if (SpeechEvent.EVENT_SESS