Android-речь распознает подсказку по аудио, а не по тексту
В настоящее время у меня работает распознавание речи, но RecognizerIntent.EXTRA_PROMPT
отображается как текст только на мобильных и носимых часах.
Есть ли какой-либо способ или другой вариант, чтобы заставить говорить (играть как аудио)?
Пробовал VoiceInteraction API, но он ограничен выбором опции и должен запускаться с помощью одной из системных голосовых команд.
private static final int SPEECH_REQUEST_CODE = 0;
// Create an intent that can start the Speech Recognizer activity
private void displaySpeechRecognizer() {
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "How can I help you?");
// Start the activity, the intent will be populated with the speech text
startActivityForResult(intent, SPEECH_REQUEST_CODE);
}
// This callback is invoked when the Speech Recognizer returns.
// This is where you process the intent and extract the speech text from the intent.
@Override
protected void onActivityResult(int requestCode, int resultCode,
Intent data) {
if (requestCode == SPEECH_REQUEST_CODE && resultCode == RESULT_OK) {
List<String> results = data.getStringArrayListExtra(
RecognizerIntent.EXTRA_RESULTS);
String spokenText = results.get(0);
Log.d(TAG, "spokenText: " + spokenText);
// Do something with spokenText
}
super.onActivityResult(requestCode, resultCode, data);
}
2 ответа
Вы сначала воспроизводите аудио, как проигрывать аудио файлы в Android
Когда аудио закончится, вы начнете распознавание речи.
Я думаю, что вы на пути. Вы должны использовать API голосового взаимодействия для голосового взаимодействия, Google Voice Actions распознает многие устные и набранные запросы действий и создает для них намерения Android.
Согласно записи видео для API голосового взаимодействия:
Независимо от того, использует ли ваше приложение системные или пользовательские голосовые действия, в некоторых случаях приложение может задавать пользователю дополнительный вопрос перед выполнением действия. Например, после запуска музыкального приложения, когда пользователь говорит "проиграть музыку", он может спросить пользователя "какой жанр?" Или когда приложение домашней автоматизации слышит, как пользователь говорит "ОК, Google, включите свет", Возможно, он захочет спросить "в какой комнате?" API-интерфейс голосового взаимодействия позволяет приложениям Android M задавать дополнительные вопросы, подобные этим.
В кодовой метке вы узнаете, как добавить голосовые взаимодействия в ваше приложение с помощью API голосового взаимодействия. API голосового взаимодействия позволяет пользователям вашего приложения подтверждать действия и выбирать из списка параметров только по голосу.
Замечания:
API Google Voice Interaction позволяет взаимодействовать с пользователем с помощью речи, чтобы получить информацию, которая:
- подтверждает действие (например, "ты уверен?")
- выбирает из списка опций
Полезные ссылки: