TextToSpeech在Android中使用synthesizeToFile时需要花费太多时间

时间:2016-05-03 08:31:03

标签: android text-to-speech speech-synthesis google-text-to-speech

我使用以下代码使用Android内置 .txt .mp3 文件合成到 TTS Engine 文件

代码:

 textToSpeech.synthesizeToFile(readFileText, utterParam, destinationFileName);

 textToSpeech.setOnUtteranceProgressListener(new UtteranceProgressListener() {
                @Override
                public void onStart(final String utteranceId) {
                    Log.e(TAG, "onStart...");
                }

                @Override
                public void onDone(final String utteranceId) {
                    Log.e(TAG, "onDone...");
                }

                @Override
                public void onError(String utteranceId) {
                    Log.e(TAG, "onError...");
                }
            });

以上是示例代码。 以下是应用程序执行流程:

  1. 从SD卡获取文件
  2. 将文件合成为mp3
  3. 播放mp3文件
  4. 问题:当文件合成完成后,我只能播放mp3文件。对于大小为1 mb的文件,大约需要1分钟。

    我可以做些什么改进吗?

    注意:我们需要使用MediaPlayer,因为我们需要播放/暂停阅读器。

    感谢。

1 个答案:

答案 0 :(得分:3)

我已经解决了这个问题,将整个文件转换成段的段落,并将段落添加到TTS引擎中并直接播放。

var query = from g in tournament.Groups
            let activePlayers = g.Players.Count(p=>p.Active)

            orderby activePlayers descending
            select new {Group = g, ActivePlayers = activePlayers};

感谢。