gpt4 book ai didi

java - TTS 中读取 "Strings"的编号

转载 作者:行者123 更新时间:2023-12-01 23:30:27 25 4
gpt4 key购买 nike

我有许多 String,每个字符串包含 5 个句子。现在,我想将这些传递给 android Text To Speech,一次一个地传递。这意味着,第一个字符串将传递给引擎,一旦引擎完成说话,第二个文本就应该被传递。下面是我的代码。

List<String>textCollection = new ArrayList<String>();

//Add sentences to 'textCollection '. Code removed//

for(int i=0;i<textCollection.size();i++)
{
while(tts.isSpeaking())
{

}

Toast.makeText(Talk.this, ""+i, Toast.LENGTH_LONG).show();

new SpeakTheText().execute(textCollection.get(i));

}

//This class will speak the text
private class SpeakTheText extends AsyncTask<String,Void,String>
{

@Override
protected String doInBackground(String... params) {
// TODO Auto-generated method stub

tts.speak(params[0], TextToSpeech.QUEUE_FLUSH, null);
return null;
}

}

不幸的是,现在发生的事情是出乎意料的。语音引擎只是从各处说出文本,而不是按顺序!它从不说出第一个文本,只是从某处选择一个文本并阅读它。为什么会发生这种情况?

最佳答案

您想要更改 tts 的参数

tts.speak(params[0], TextToSpeech.QUEUE_ADD, null);

在我的应用程序中工作得很好。

关于java - TTS 中读取 "Strings"的编号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19400125/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com