Об этом проекте
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 для обсуждений и обратной связи.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.