Android TextToSpeech的synthesizeToFile方法可以将指定的文本转换为音频文件。默认情况下,生成的音频格式为PCM16格式,但是可以使用setAudioFormat方法来指定其他格式。以下是使用synthesizeToFile生成WAV格式音频文件的代码示例:
// 设置TextToSpeech引擎
TextToSpeech textToSpeech = new TextToSpeech(context, new TextToSpeech.OnInitListener() {
@Override
public void onInit(int status) {
if (status != TextToSpeech.ERROR) {
// 设置语言
textToSpeech.setLanguage(Locale.US);
// 生成音频文件
File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/audio.wav");
int result = textToSpeech.synthesizeToFile("Hello, World!", null, file, "wav");
if (result != TextToSpeech.SUCCESS) {
Log.e(TAG, "Unable to synthesizeToFile");
}
}
}
});
// 设置音频格式
HashMap params = new HashMap();
params.put(TextToSpeech.Engine.KEY_PARAM_AUDIO_FORMAT, AudioFormat.ENCODING_PCM_16BIT);
textToSpeech.setParams(params);