Внешняя компонента для распознавая речи в мобильной платформе 1С
Описание
Компонента реализует взаимодействие с отдельной службой, запущенной на android-устройстве, и генерирует в мобильной 1С события, в параметрах которых передается распознанная речь.
Идентификатор компоненты SpeechRecognizer. Поставляется c проектом для Visual Studio и проектом для Android Studio
Требования
- Android Studio 3.5
- Visual Studio 2019
- Платформа 1С не ниже 8.3.10
Ограничения
- Поддерживается только Android начиная с версии API 28
API
Методы и свойства
Метод |
Описание |
StartSpeechRecognition/ЗапуститьРаспознаваниеРечи |
Запускает распознавание речи |
StopSpeechRecognition/ОстановитьРаспознаваниеРечи |
Останавливает распознавание речи |
PlaySoundAlert/ВоспроизвестиЗвуковоеОповещение |
Воспроизводит предупреждающий системный звуковой сигнал |
RequestServiceStatus/ЗапроситьСтатусСервиса |
Запрашивает статус сервиса распознавания |
Свойство |
Описание |
DeviceInfo/ОписаниеУстройства |
Возвращает идентификатор мобильного устройства |
Примеры
Инициализация компоненты и запуск распознавания
Если ПодключитьВнешнююКомпоненту("ОбщийМакет.КомпонентаРаспознаванияРечи", "Component", ТипВнешнейКомпоненты.Native) Тогда
Компонента = Новый("AddIn.Component.SpeechRecognizer");
Компонента.ЗапуститьРаспознаваниеРечи();
КонецЕсли;
Обработка внешних событий
&НаКлиенте
Процедура ВнешнееСобытие(Источник, Событие, Данные)
Если Событие = "initialization" Тогда
Компонента.ЗапроситьСтатусСервиса();
ПодключитьОбработчикОжидания("ПроверкаСтатусаСервисаРаспознавания", 1, Истина);
ИначеЕсли Событие = "RecognitionResult" Тогда
ОбработатьГолосовойВвод(Данные);
ИначеЕсли Событие = "RecognitionReady" Тогда
ДатаПоследнегоОтветаКомпоненты = ТекущаяДата();
ЕстьПромежуточныеРезультаты = Ложь;
ИначеЕсли Событие = "RecognitionPartialResult" Тогда
ДатаПоследнегоОтветаКомпоненты = ТекущаяДата();
ЕстьПромежуточныеРезультаты = Истина;
ИначеЕсли Событие = "ServiceStatus" Тогда
СтатусСервисаРаспознавания = Данные;
ИначеЕсли Событие = "onBeginningOfSpeech" Тогда
ДатаНачалаПроизношения = ТекущаяДата();
КонецЕсли;
КонецПроцедуры
Остановка распознавания
Компонента.ОстановитьРаспознаваниеРечи();
Разворачивание окружения разработки на Windows 10
- Установить Android Studio
- В студии перейти в Tools -> SDK Manager -> SDK Platforms и выбрать ANDROID API 28
- В студии перейти в Tools -> SDK Manager -> SDK Tools и установить следующие пункты:
- Android SDK build Tools
- Cmake (система сборки C++ кода)
- LLDB (для отладки C++ кода)
- Android Emulator
- Android SDK Platform tools
- Android SDK tools
- Intel x86 Emulator Accelerator (для возможности запуска эмулятора из студии)
- NDK (Для поддержки C++ кода в android проекте)
Сборка проекта
- Открыть проект в VS Studio 2019 открыть SpeechRecognizer.sln и скомпилировать release версии для ARM и X86 платформы. Полученные библиотеки
.so
перенести в каталог addin-package
.
- В Android Studio открыть каталог
android
и скомпилировать apk (Build -> Build bundle / APK -> APK). Полученный файл apk
перенести в каталог addin-package
.
- Поместить все файлы из каталога
addin-package
, включая MANIFEST.xml
в zip-архив
- Полученный архив загрузить в конфигурацию в качестве макета внешней компоненты