aimybox-android-sdk
aimybox-android-sdk copied to clipboard
Падает через пару фраз
Создал согласно документации
val config = YandexSpeechToText.Config(
enablePartialResults = false,
enableLoggingData = true
)
val iAmTokenGenerator =
IAmTokenGenerator("OAuth")
val yandexSpeechKitRecognizer = YandexSpeechToText(
iAmTokenGenerator,
"folderId",
Language.EN,
config
)
if (ActivityCompat.checkSelfPermission(
this,
Manifest.permission.RECORD_AUDIO
) != PackageManager.PERMISSION_GRANTED
) {
checkPermissions()
} else {
val r = yandexSpeechKitRecognizer.startRecognition()
GlobalScope.launch {
r.consumeEach { it ->
Log.i(TAG, "$it")
}
}
}
После отправки пары сообщений падает
java.lang.IllegalStateException: Flow exception transparency is violated: Previous 'emit' call has thrown exception java.lang.IllegalStateException: Flow exception transparency is violated: Previous 'emit' call has thrown exception java.lang.IllegalStateException: Flow exception transparency is violated: Previous 'emit' call has thrown exception java.lang.IllegalStateException: Flow exception transparency is violated: Previous 'emit' call has thrown exception kotlin.UninitializedPropertyAccessException: lateinit property eventChannel has not been initialized, but then emission attempt of value '[B@15100dc' has been detected. Emissions from 'catch' blocks are prohibited in order to avoid unspecified behaviour, 'Flow.catch' operator can be used instead. For a more detailed explanation, please refer to Flow documentation., but then emission attempt of value '[B@3e895e5' has been detected.
Помогите, пожалуйста
без создания speechtotext, texttospech, dialog и общего AiMyBox не работает, вопрос - можно ли как-то отдельно создать только speechtotext?
@db-exp вроде согласно документации немного по-другому. Пробовали так же?
Дело в том, что YandexSpeechToText, как и любой STT компонент, наследуется от абстрактного класса SpeechToText, для работы которого необходимо инициализировать eventChannel (свойство типа SendChannel, которое необходимо, для передачи пользователю Aimybox событий STT компонента), данное свойство объявлено как internal, поэтому чтобы запустить SpeechToText, необходимо либо запускать его в составе Aimybox, либо выкачивать код модуля core и инициализировать в нем eventChannel самостоятельно