Flutter Audio: open-source плагин для декодирования речи

В 2018 году разработчики Evrone начали работу над приложением Medcorder, которое облегчает коммуникацию с медицинскими работниками и принятие решений по ходу лечения. Заказчик предложил создать сервис на основе экосистемы Google и использовать новый фреймворк Flutter для разработки кроссплатформенного приложения.
Ключевая функция Medcorder — это возможность записать разговор с врачом и получить расшифровку. Наша команда приступила к работе, когда фреймворк находился на стадии pre-alpha. Flutter быстро эволюционировал, но всё равно не существовало инструментов для записи аудио с помощью API, предоставляемых Google. Нашей команде пришлось самостоятельно разработать инструмент — Flutter Audio.
Характеристики Flutter Audio
С помощью Flutter Audio можно интегрировать функцию записи и проигрывания аудиодорожки в приложения iOS и Android. Плагин состоит из трёх компонентов: двух нативных элементов для работы на iOS и Android и UI на Dart. Интерфейс прост в управлении и не предполагает детальной настройки записи.
Мы придерживаемся принципа «один инструмент — одна задача». Плагин не перегружен функционалом, и мы не принимаем пулл-реквесты на изменение профилей аудио или раскрытие параметров записи. Однако ценность опенсорс-комьюнити в том, что инструмент продолжает развиваться отдельно от нас. На GitHub можно найти несколько форков проекта, предназначенных для работы на разных платформах.
Как использовать Flutter Audio
Первым делом вам необходимо скопировать экземпляр MedcorderAudio.
Второй шаг — проверить, идёт ли запись на вашем устройстве, можете ли вы регулировать настройки звука. Проверить можно при помощи initState.
Если всё работает, используйте audioModule для записи аудио в обработчике событий. Функция откликается, когда пользователь нажимает на соответствующую кнопку.
Репозиторий плагина на GitHub.
Мы постарались создать подробную документацию с шаблонами кода и примером приложения для двух платформ. Если вы нашли в плагине баг, создайте на GitHub issue, наша команда обязательно разберётся с проблемой.
Если ваше приложение на Flutter предполагает запись и воспроизведение аудиозаписей, опробуйте наш плагин и поделитесь впечатлениями. Evrone интересно наблюдать, во что трансформируются наши решения.
Комментарии: