miniaudio一个直接引用的单文件跨平台播放和录制音频库

以下内容主要翻译自官方github,如有误欢迎指正和交流。笔者使用该库完成了WASAPI内录扬声器,参看官方例子,使用确实简单方便多了。

一、介绍

miniaudio是一个只有单.h文件的音频播放和抓取库。它跨平台,它简单易用。相比PortAudio和rtAudio,它只有一个.h文件,直接引用,不需要提前编译成lib文件。

二、支持的操作系统

  • Windows (XP+), UWP
  • macOS, iOS
  • Linux
  • BSD
  • Android
  • Raspberry Pi
  • Emscripten / HTML5

三、后端

  • WASAPI
  • DirectSound
  • WinMM
  • Core Audio (Apple)
  • ALSA
  • PulseAudio
  • JACK
  • sndio (OpenBSD)
  • audio(4) (NetBSD and OpenBSD)
  • OSS (FreeBSD)
  • AAudio (Android 8.0+)
  • OpenSL|ES (Android only)
  • Web Audio (Emscripten)
  • Null (Silence)

四、主要特性

  • 宽松的许可协议。‎
  • 只有一个.h头文件,很容易加入到你的工程里。
  • 除了C标准库和后端支持库外,需要其他第三方库。
  • 用C语言开发,可以编译为C++,支持大多数的编译器。
  • 支持主流桌面和移动操作系统,最大化支持各种后端。
  • 支持自定义后端。
  • 支持播放、抓取、双工和回环 (回环只支持WASAPI)。
  • 除了支持默认设备外,还支持枚举和使用已连接的其它音频设备。
  • 可同时连接多个设备。
  • 部分后端支持共享和排除模式。
  • 后端支持特殊配置。
  • 支持设备功能查询。
  • 自动在你的程序和内部设备之间转换数据。
  • 样本格式转换时可选抖动模式。
  • 支持频道转换和频道映射。
  • 重采样支持多种算法。
    • Simple linear resampling with anti-aliasing.
    • Optional Speex resampling (must opt-in).
  • 过滤器。
    • Biquad
    • Low-pass (first, second and high order)
    • High-pass (first, second and high order)
    • Second order band-pass
    • Second order notch
    • Second order peaking
    • Second order low shelf
    • Second order high shelf
  • 波形生成。
    • Sine
    • Square
    • Triangle
    • Sawtooth
  • 噪声生成。
    • White
    • Pink
    • Brownian
  • 解码。
    • WAV
    • FLAC
    • MP3
    • Vorbis via stb_vorbis (not built in - must be included separately).
  • 编码。
    • WAV
  • 无锁环形缓冲区 (支持单生产者,单消费者)。
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值