gpt4 book ai didi

android - 将文本转换为语音

转载 作者:行者123 更新时间:2023-11-30 03:11:20 25 4
gpt4 key购买 nike

我正在使用以下代码。它工作正常,除了我有要转换为语音的文本列表的问题。但它只是将最后一行转换为演讲。这是我将数据放入 ListView 并尝试将其转换为语音的代码:

  public class TextSpeech extends ListActivity implements
TextToSpeech.OnInitListener {
/** Called when the activity is first created. */

private TextToSpeech tts;

private TextView txtText;
private List<Message> mess;
List<String> titless;

@SuppressLint("NewApi")
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.speach);

tts = new TextToSpeech(this, this);


BaseFeedParser parser = new BaseFeedParser();
mess = parser.parse();
titless = new ArrayList<String>(mess.size());
speakOut();
}

@SuppressLint("NewApi")
@Override
public void onDestroy() {
// Don't forget to shutdown tts!
if (tts != null) {
tts.stop();
tts.shutdown();
}
super.onDestroy();
}


@SuppressLint("NewApi")
@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 {

speakOut();
}

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

}

public void speakOut() {
for (Message msg : mess){
titless.add(msg.getTitle());
tts.speak(msg.getTitle(), TextToSpeech.QUEUE_FLUSH, null);
}
ArrayAdapter<String> adapter =
new ArrayAdapter<String>(this, R.layout.row,titless);
this.setListAdapter(adapter);
}
}

最佳答案

您使用过 TextToSpeech.QUEUE_FLUSH 只是将其更改为 TextToSpeech.QUEUE_ADD 。根据您的要求,您希望 TTS 逐条阅读。

关于android - 将文本转换为语音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20918753/

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