MainActivity.java代碼:
1)顯示對話方塊方式
package com.chen.test15;import android.os.Bundle;import android.app.Activity;import android.view.Menu;import com.iflytek.speech.SpeechError;import com.iflytek.ui.SynthesizerDialog;import com.iflytek.ui.SynthesizerDialogListener;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);SynthesizerDialog synDialog = new SynthesizerDialog(this, "appid=51b6eedb");synDialog.setListener(synListener);synDialog.setVoiceName("xiaoyu");synDialog.setText("My first android program : 你好,世界", null);synDialog.show();}SynthesizerDialogListener synListener = new SynthesizerDialogListener() {@Overridepublic void onEnd(SpeechError error) {// TODO Auto-generated method stub}};}
2)不顯示對話方塊方式
package com.chen.test14;import android.os.Bundle;import android.app.Activity;import android.view.Menu;import com.iflytek.*;import com.iflytek.speech.SpeechError;import com.iflytek.speech.SynthesizerPlayer;import com.iflytek.speech.SynthesizerPlayerListener;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);SynthesizerPlayer player = SynthesizerPlayer.createSynthesizerPlayer(this, "appid=51b6eedb");player.setVoiceName("xiaoyu");player.playText("安徽科大訊飛", "tts_buffer_time=2000", synbgListener);synbgListener.onPlayBegin();}SynthesizerPlayerListener synbgListener = new SynthesizerPlayerListener() {@Overridepublic void onPlayResumed() {// TODO Auto-generated method stub}@Overridepublic void onPlayPercent(int percent, int beginPos, int endPos) {// TODO Auto-generated method stub}@Overridepublic void onPlayPaused() {// TODO Auto-generated method stub}@Overridepublic void onPlayBegin() {// TODO Auto-generated method stub}@Overridepublic void onEnd(SpeechError error) {// TODO Auto-generated method stub}@Overridepublic void onBufferPercent(int percent, int beginPos, int endPos) {// TODO Auto-generated method stub}};@Overridepublic 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;}}
注意:在工程裡加入訊飛的SDK包Msc.jar;
在工程目錄下匯入arm動態庫和Msc.jar包;
在AndroidManifest.xml加入使用者權限.