Об этом проекте

react-native-audio-api — это аудиодвижок для React Native, построенный вокруг спецификации Web Audio API. Его цель — позволить разработчикам генерировать и изменять звук в среде React Native почти так же, как в браузерах, используя знакомые концепции аудиографа. Ключевые возможности, описанные в README: - Управление аудиографом, совместимое со спецификацией Web Audio API, с опубликованной страницей покрытия, документирующей, какая часть спецификации реализована. - Воспроизведение и буферизация через API в стиле «аудиотега», так что для простого воспроизведения не требуется вручную строить аудиограф. - Запись в файл с настраиваемым форматом, качеством и другими параметрами, интегрированная с аудиографом, а также ротация записи, разбивающая записи на меньшие фрагменты. - Уведомления о воспроизведении и записи, управляемые из центра уведомлений или на экране блокировки, с поддержкой пользовательских макетов уведомлений. - Вход с микрофона, позволяющий направлять звук с устройства или подключённого устройства в граф или передавать потоком. - Поддержка декодирования m4a/mp4/aac/ogg/opus, а также HLS-стриминг для живых или заранее записанных источников. - Набор аудиоузлов, включая WaveShaperNode для нелинейных искажений, IIRFilterNode для пользовательских цифровых фильтров, ConvolverNode для реверберации и пространственных эффектов, а также пользовательский аудиопроцессор для написания собственных узлов. - JS Audio Worklets (V1 и V2) для выполнения пользовательской логики обработки в аудиопотоке и синхронизации с потоком пользовательского интерфейса. - Утилитарные модули и модули декодирования, работающие без предварительного создания AudioContext. Запланированная работа, упомянутая в дорожной карте, включает DynamicCompressorNode, поддержку MIDI, пространственный звук и системное шумоподавление. Инструкции по установке находятся в документации проекта Getting Started. Пример приложения находится в apps/common-app, а отдельный пример проекта доступен для опробования API без интеграции в реальное приложение. Библиотека распространяется под лицензией MIT; часть исходного кода происходит из WebKit и использует бинарные файлы FFmpeg, подробности о сторонних компонентах — в THIRD_PARTY.md. Проект поддерживается Software Mansion, которая также ведёт сообщество в Discord для обсуждений и обратной связи.