Repolode
mackron

mackron/miniaudio

C-библиотека для воспроизведения и захвата аудио: один исходный файл, никаких внешних зависимостей.

Звёзды
7,383
Форки
620
Открытые issues
4
Последний коммит
4 часа назад

Что это?

miniaudio — C-библиотека для воспроизведения и захвата аудио. Она поставляется в виде одного исходного файла и одного заголовочного файла и зависит только от стандартной библиотеки C, поэтому её можно добавить в проект без установки дополнительных пакетов.

Библиотека предоставляет низкоуровневый API для прямого доступа к необработанным аудиоданным и высокоуровневый API для управления звуком, микширования, эффектов и, при необходимости, 3D-позиционирования звука. В неё входят граф узлов для построения собственных цепочек микширования и обработки эффектов, встроенное декодирование WAV, FLAC и MP3 с поддержкой пользовательских декодеров, кодирование в WAV, передискретизация и сопоставление каналов.

miniaudio поддерживает Windows, macOS, iOS, Linux, варианты BSD, Android, Raspberry Pi и Emscripten/HTML5. На каждой платформе используется её нативный аудиобэкенд, например WASAPI, Core Audio, ALSA, PulseAudio или AAudio. Пользовательские бэкенды можно добавлять, не изменяя исходный код библиотеки.

Ключевые возможности

  • 01Поставляется одним исходным файлом на C и не имеет внешних зависимостей, кроме стандартной библиотеки.
  • 02Предоставляет низкоуровневый доступ к необработанным аудиоданным и высокоуровневый API для воспроизведения и микширования звука.
  • 03Из коробки декодирует WAV, FLAC и MP3, а также поддерживает пользовательские декодеры.
  • 04Предоставляет граф узлов для гибкой обработки микширования и эффектов.
  • 05Поддерживает передискретизацию, сопоставление каналов и преобразование форматов данных.
  • 06Использует нативные аудиобэкенды в Windows, macOS, Linux, BSD, Android и веб-среде.

Сценарии использования

  • Добавление воспроизведения звуковых эффектов или фоновой музыки в игру на C или C++.
  • Запись звука с микрофона в кроссплатформенном настольном или встраиваемом приложении.
  • Декодирование аудиофайлов в необработанный PCM для анализа или обработки.
  • Воспроизведение аудио в сборке WebAssembly через Emscripten.

Быстрый старт

  1. 1

    Добавьте miniaudio.c и miniaudio.h в дерево исходного кода

  2. 2

    Скомпилируйте miniaudio.c как любой другой исходный файл (в Linux и BSD свяжите с -lpthread и -lm)

    cc -o app app.c miniaudio.c -lpthread -lm
  3. 3

    Подключите miniaudio.h в коде и вызывайте API, например ma_engine_play_sound

Что важно знать

  • Лицензия допускает выбор между общественным достоянием и MIT No Attribution, но в метаданных указано NOASSERTION, поэтому перед использованием проверьте условия.
  • Совместимость ABI между версиями не гарантируется, поэтому рекомендуется включать исходный код в проект, а не использовать динамическую библиотеку.

Темы

Частые вопросы

Что такое miniaudio?
C-библиотека для воспроизведения и захвата аудио: один исходный файл, никаких внешних зависимостей. miniaudio — C-библиотека для воспроизведения и захвата аудио. Она поставляется в виде одного исходного файла и одного заголовочного файла и зависит только от стандартной библиотеки C, поэтому её можно добавить в проект без установки дополнительных пакетов.
miniaudio можно использовать бесплатно? Какая у него лицензия?
miniaudio распространяется с открытым исходным кодом под лицензией Other. Перед использованием в коммерческих продуктах проверьте условия лицензии.
miniaudio всё ещё поддерживается?
Активно поддерживается. Последний коммит в miniaudio — 21 окт. 2026 г..
Для чего можно использовать miniaudio?
Добавление воспроизведения звуковых эффектов или фоновой музыки в игру на C или C++. Запись звука с микрофона в кроссплатформенном настольном или встраиваемом приложении. Декодирование аудиофайлов в необработанный PCM для анализа или обработки. Воспроизведение аудио в сборке WebAssembly через Emscripten.
Как установить miniaudio?
Добавьте miniaudio.c и miniaudio.h в дерево исходного кода Скомпилируйте miniaudio.c как любой другой исходный файл (в Linux и BSD свяжите с -lpthread и -lm): cc -o app app.c miniaudio.c -lpthread -lm Подключите miniaudio.h в коде и вызывайте API, например ma_engine_play_sound
Где скачать miniaudio?
Исходный код и инструкции по установке — на GitHub: https://github.com/mackron/miniaudio

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты