基于讯飞开放平台的安卓语音开发——语音合成(文本→语音)
来源:互联网 发布:mac 照片图库 删除 编辑:程序博客网 时间:2024/05/17 03:27
基本的代码配置可以先参考以下博客:
http://blog.csdn.net/zhengyikuangge/article/details/74937770
以下代码还是从讯飞官方提供的SDK中筛选出来的
public class MainActivity extends Activity { private SpeechSynthesizer mTts; private int mPercentForPlaying = 0; private int mPercentForBuffering = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); SpeechUtility.createUtility(MainActivity.this, SpeechConstant.APPID + "= 595baeb7"); mTts = SpeechSynthesizer.createSynthesizer(MainActivity.this, mTtsInitListener); findViewById(R.id.bt).setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { String text = ((EditText) findViewById(R.id.et)).getText() .toString(); mTts.startSpeaking(text, mTtsListener); } }); } /** * 初始化监听器。 */ private InitListener mTtsInitListener = new InitListener() { @Override public void onInit(int code) { if (code != ErrorCode.SUCCESS) { Toast.makeText(MainActivity.this, "初始化失败,错误码:" + code, Toast.LENGTH_LONG).show(); } } }; /** * 合成回调监听。 */ private SynthesizerListener mTtsListener = new SynthesizerListener() { @Override public void onSpeakBegin() { } @Override public void onSpeakPaused() { } @Override public void onSpeakResumed() { } @Override public void onBufferProgress(int percent, int beginPos, int endPos, String info) { mPercentForBuffering = percent; } @Override public void onSpeakProgress(int percent, int beginPos, int endPos) { mPercentForPlaying = percent; } @Override public void onCompleted(SpeechError error) { } @Override public void onEvent(int eventType, int arg1, int arg2, Bundle obj) { } };}