我想创建一个能突出显示文字的应用(如卡拉OK歌曲)。
答案 0 :(得分:0)
首先,here您可能需要额外的资源:
我认为您正在寻找Text to Speech
功能。
试试这个(你必须根据你的具体情况进行调整):
TextToSpeech tts = new TextToSpeech(this,this);
if (txtText.getText().toString().length() == 0){
tts.speak("You", TextToSpeech.QUEUE_FLUSH, null);
/*Change size or color of "You" in your TextView for e.g.*/
tts.speak("haven't", TextToSpeech.QUEUE_FLUSH, null);
/*Change size or color of "haven't" in your TextView for e.g.*/
tts.speak("typed", TextToSpeech.QUEUE_FLUSH, null);
/*Change size or color of "typed" in your TextView for e.g.*/
} else
tts.speak(txtText.getText().toString(), TextToSpeech.QUEUE_FLUSH,null);
您可以使用setSpan()
方法更改TextView颜色。
祝你有个美好的一天!
答案 1 :(得分:0)
开始讲第一个单词。
mTts.speak("first word", TextToSpeech.QUEUE_FLUSH, null);
突出显示第一个单词。
String first = "This word is ";
String next = "<font color='#EE0000'>red</font>";
t.setText(Html.fromHtml(first + next));
或使用Spannable
link
检测到第一个单词已经完成。
public void onUtteranceCompleted(String utteranceId) {
//Next word start
}
答案 2 :(得分:0)