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 {
@Override
protected 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() {
@Override
public 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 {
@Override
protected 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() {
@Override
public void onPlayResumed() {
// TODO Auto-generated method stub
}
@Override
public void onPlayPercent(int percent, int beginPos, int endPos) {
// TODO Auto-generated method stub
}
@Override
public void onPlayPaused() {
// TODO Auto-generated method stub
}
@Override
public void onPlayBegin() {
// TODO Auto-generated method stub
}
@Override
public void onEnd(SpeechError error) {
// TODO Auto-generated method stub
}
@Override
public void onBufferPercent(int percent, int beginPos, int endPos) {
// TODO Auto-generated method stub
}
};
@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;
}
}
注意:在工程里加入讯飞的SDK包Msc.jar;
在工程目录下导入arm动态库和Msc.jar包;
在AndroidManifest.xml加入用户权限.