【问题标题】:TTS- convert to WAV fileTTS-转换成WAV文件
【发布时间】:2018-09-14 23:48:59
【问题描述】:

我已经成功编写并执行了文本到语音的代码。 该代码能够说出用edittext编写的文本。 但现在我不知道如何将其转换为 .wav 文件并将其保存到目录中。 当我为 api 15+ 编写这段代码时,请给我一些建议。

我的代码:

@Override
    public void onInit(int status) {
        if (status == TextToSpeech.SUCCESS) {

            int result = tts.setLanguage(Locale.US);

            if (result == TextToSpeech.LANG_MISSING_DATA
                    || result == TextToSpeech.LANG_NOT_SUPPORTED) {
                Log.e("TTS", "This Language is not supported");
            } else {
              //  btnSpeak.setEnabled(true);
                speakOut();
            }

        } else {
            Log.e("TTS", "Initilization Failed!");
        }
    }

    private void speakOut() {

        String text = txtText.getText().toString();

        tts.speak(text, TextToSpeech.QUEUE_FLUSH, null);
    }

请有人帮我...

【问题讨论】:

标签: android text-to-speech


【解决方案1】:

您可以使用方法synthetizeToFile()。 您必须使用FileProvider 创建一个File 以避免api 24 以上的受限文件。您还必须传递一个请求ID。

String utteranceId = "MyUtteranceId"
File file = /* file obtained with FileProvider */
int result = tts.synthesizeToFile(text, null, file, utteranceId);
if (result == TextToSpeech.SUCCESS) {
    // It was successfull.
} else {
    // Error occurred
}

此方法返回一个表示结果(错误或成功)的 int。 我建议您将合成移到后台线程上,然后在 UI 线程上调度结果。

还可以查看文件渲染和播放部分: https://android-developers.googleblog.com/2009/09/introduction-to-text-to-speech-in.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-19
    • 1970-01-01
    • 2020-09-22
    • 2016-10-02
    • 1970-01-01
    • 2011-06-19
    • 2020-04-22
    相关资源
    最近更新 更多