百度纯在线合成
1.AndroidManifest.xml文件
设置权限:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
2.引入jar包
com.baidu.tts_2.3.1.*.jar 库
3.初始化
protected String appId = "15604882";//百度语音申请的appID
protected String appKey = "xhStnO1RcXoR2MCCf7e6az7f";//appKey
protected String secretKey = "YZMiA1ub384u5IjOUxrCwc6IkBOsLmct";//secretKey
private SpeechSynthesizer synthesizer;//语音合成对象
protected void initialTts() {
//获取实例
synthesizer = SpeechSynthesizer.getInstance();
//设置当前的Context
synthesizer.setContext(this);
synthesizer.setSpeechSynthesizerListener(new MessageListener());
synthesizer.setAppId(appId);
synthesizer.setApiKey(appKey, secretKey);
synthesizer.auth(TtsMode.ONLINE); // 纯在线
// 设置参数
synthesizer.setParam(SpeechSynthesizer.PARAM_AUDIO_ENCODE, SpeechSynthesizer.AUDIO_ENCODE_PCM);
synthesizer.setParam(SpeechSynthesizer.PARAM_AUDIO_RATE, SpeechSynthesizer.AUDIO_BITRATE_PCM);
synthesizer.setParam(SpeechSynthesizer.PARAM_SPEAKER, "0");
synthesizer.initTts(TtsMode.ONLINE);//纯在线模式
}
4.方法
直接调用即可
/**
* 播放。
*/
private void speak(String content) {
int result = synthesizer.speak(content);
Log.d("test", "speak" + result);
}
/**
* 暂停播放。仅调用speak后生效
*/
private void pause() {
int result = synthesizer.pause();
Log.d("test", "pause:" + result);
}
@Override
protected void onDestroy() {
synthesizer.release();
Log.i(TAG, "释放资源成功");
super.onDestroy();
}