gpt4 book ai didi

java - 在使用文本进行语音转换之前先获取声音以完成播放

转载 作者:行者123 更新时间:2023-12-03 01:52:14 24 4
gpt4 key购买 nike

我有一个按钮,当按下该按钮时,我希望在使用文本语音转换之前播放“正确”的声音。但是,当文本语音转换开始之前,“正确”的声音已经完成播放,所以两个声音是重叠的。播放完“正确”的声音后,如何开始文字转换为语音?任何帮助表示赞赏。非常感谢!!

public void onClick(View view){

Button btn = (Button) view;
TextView tv = (TextView) findViewById(R.id.animal_text);
textViewString = tv.getText().toString();
final MediaPlayer mp = MediaPlayer.create(this, R.raw.correct);

if (btn.getText().equals(textViewString)) {

mp.start();

Resources res = getResources();
String[] myString = res.getStringArray(R.array.englishAnimalArray);
String q = myString[r_generator.nextInt(myString.length)];
tv.setText(q);
textViewString = tv.getText().toString();
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.HONEYCOMB) {
tts.speak(textViewString, TextToSpeech.QUEUE_FLUSH, null);
} else {
tts.speak(textViewString, TextToSpeech.QUEUE_FLUSH, null, null);
}
}

最佳答案

您是否看过API指南?回调setOnCompletionListener(OnCompletionListener)(https://developer.android.com/reference/android/media/MediaPlayer.html#Callbacks)呢?

mp.setOnCompletionListener(new OnCompletionListener(){
/* Implement the needed functionality */
});

关于java - 在使用文本进行语音转换之前先获取声音以完成播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38644942/

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