这个项目能做什么

react-native-audio-api 是一个围绕 Web Audio API 规范构建的 React Native 音频引擎。其目标是让开发者能在 React Native 环境中,以与浏览器中大致相同的方式,使用熟悉的音频图概念来生成和修改音频。 README 中描述的主要能力: - 与 Web Audio API 规范兼容的音频图控制,并提供一个已发布的覆盖页面,记录规范实现的程度。 - 通过“audio tag”风格的 API 进行播放和缓冲,因此简单播放无需手动构建音频图。 - 以可配置的格式、质量和其他参数录制到文件,并与音频图集成,还支持录制轮转,将录制内容拆分为更小的块。 - 播放和录制通知,可从通知中心或锁屏控制,并支持自定义通知布局。 - 麦克风输入,允许将来自设备或已连接设备的音频路由到图中或进行流式传输。 - 支持 m4a/mp4/aac/ogg/opus 的解码,并支持用于直播或预先录制来源的 HLS 流式传输。 - 一组音频节点,包括用于非线性失真的 WaveShaperNode、用于自定义数字滤波器的 IIRFilterNode、用于混响和空间效果的 ConvolverNode,以及用于编写自定义节点的自定义音频处理器。 - JS Audio Worklets(V1 和 V2),用于在音频线程上运行自定义处理逻辑并与 UI 线程同步。 - 实用工具和解码模块,无需先创建 AudioContext 即可工作。 路线图中提到的计划工作包括 DynamicCompressorNode、MIDI 支持、空间音频和基于系统的噪声消除。 安装说明位于项目的 Getting Started 文档中。示例应用位于 apps/common-app 下,另有一个单独的示例项目,可用于在不将 API 集成到真实应用中的情况下试用它。该库采用 MIT 许可证;部分源代码源自 WebKit,并使用 FFmpeg 二进制文件,第三方详情见 THIRD_PARTY.md。该项目由 Software Mansion 维护,该公司还托管了一个社区 Discord,用于讨论和反馈。