我正在制作一个同时使用语音识别和tts的应用程序。在我的应用程序中,我继续进行语音识别,问题是当我使用tts时,语音识别将监听应用程序的内容。如何在tts发言期间停止语音识别,然后在tts结束后启动语音识别?我能用另一种方式解决这个问题吗?
发布于 2014-03-10 02:54:27
实现OnUtteranceCompletedListener
或UtteranceProgressListener
,并在onUtteranceCompleted
或onDone
中调用startListening
发布于 2014-04-13 09:22:14
我可以用一个同步任务来修复它
但我现在不能启动语音识别。
private class MiTareaAsincronaDialog extends AsyncTask<Void, Integer, Boolean> {
@Override
protected Boolean doInBackground(Void... params)
{
String words = "Esto es una prueba del texto pasado a oral";
speakWords(words);
while(myTTS.isSpeaking() == true)
{
try {
Thread.sleep(100);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return true;
}
@Override
protected void onProgressUpdate(Integer... values) {
}
@Override
protected void onPreExecute() {
}
@Override
protected void onPostExecute(Boolean result) {
Toast.makeText(MainActivity.this, "Tarea finalizada!",
Toast.LENGTH_SHORT).show();
}
@Override
protected void onCancelled()
{
Toast.makeText(MainActivity.this, "Tarea cancelada!",
Toast.LENGTH_SHORT).show();
}
}
https://stackoverflow.com/questions/22278964
复制相似问题