我正在制作文本到语音转换应用程序。我想从用户那里获取文本并将其更改为语音。当我对输入文本进行硬编码时。我的应用程序完美运行。
static final String[] texts = {"what's up dude"};
TextToSpeech tts;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button b = (Button)findViewById(R.id.btexttovoice);
b.setOnClickListener(this);
tts = new TextToSpeech(textvoice.this,new TextToSpeech.OnInitListener(){
@Override
public void onInit(int status) {
// TODO Auto-generated method stub
if(status!= TextToSpeech.ERROR)
{
tts.setLanguage(Locale.US);
}
}
});
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
if(tts!= null)
{
tts.stop();
tts.shutdown();
}
super.onPause();
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Random r = new Random();
String random = texts[r.nextInt(3)];
tts.speak(random, TextToSpeech.QUEUE_FLUSH, null);
}
它很好用,但如果我想通过编辑文本从用户那里获取输入,我会进行以下更改:
String[] texts ;
text = (EditText)findViewById(R.id.ttexttovoice);
texts = text.getText().toString();
在这里我得到错误,因为 texts 是数组类型。如何从编辑文本中获取文本到字符串的数组类型?如果我在没有数组字符串的情况下这样做
String texts ;
text = (EditText)findViewById(R.id.ttexttovoice);
texts = text.getText().toString();
我没有收到任何错误,但我没有找到所需的输出。事实上,没有收到任何声音。
这似乎是一个简单的问题,但我被困在这里。请帮助我。提前致谢。