Installing miniaudio Library Установка библиотеки miniaudio
A step-by-step guide to downloading, extracting, and configuring the single-file miniaudio.h audio library on Windows and Ubuntu.
Пошаговое руководство по скачиванию, распаковке и настройке заголовочной аудио-библиотеки miniaudio.h в Windows и Ubuntu.
Step 1: Download Source Code Шаг 1: Скачивание исходного кода
Download the latest release zip archive directly from GitHub Releases: Скачайте zip-архив последнего релиза напрямую из GitHub Releases:
Download miniaudio Releases Скачать релизы miniaudio
For Ubuntu, you can download it via wget in terminal:
В Ubuntu вы можете скачать архив с помощью wget через терминал:
sudo apt update && sudo apt install -y wget unzip
cd ~
wget https://github.com/mackron/miniaudio/archive/refs/tags/0.11.21.zip -O miniaudio-0.11.21.zip
Step 2: Extract the Library Шаг 2: Распаковка библиотеки
Option A: Windows Вариант A: Windows
Extract the downloaded archive so that miniaudio.h is placed in C:\libs\miniaudio-0.11.21\include\miniaudio.h.
Распакуйте скачанный архив так, чтобы файл miniaudio.h находился в C:\libs\miniaudio-0.11.21\include\miniaudio.h.
Option B: Ubuntu Вариант B: Ubuntu
Create the include directory and extract miniaudio.h into ~/libs/miniaudio-0.11.21/include:
Создайте папку include и распакуйте miniaudio.h в ~/libs/miniaudio-0.11.21/include:
mkdir -p ~/libs/miniaudio-0.11.21/include
unzip -j miniaudio-0.11.21.zip "miniaudio-0.11.21/miniaudio.h" -d ~/libs/miniaudio-0.11.21/include/
rm -f miniaudio-0.11.21.zip
Step 3: Create Project Directory Шаг 3: Создание директории проекта
Create a workspace folder and a new directory for your miniaudio test project: Создайте рабочую папку и новую директорию для вашего тестового проекта miniaudio:
Windows (Command Prompt / PowerShell)
mkdir C:\projects\miniaudio-test
cd C:\projects\miniaudio-test
Ubuntu (Terminal)
mkdir -p ~/projects/miniaudio-test
cd ~/projects/miniaudio-test
Step 4: Create Source Files (main.c & CMakeLists.txt) Шаг 4: Создание исходных файлов (main.c и CMakeLists.txt)
Windows (Terminal / Notepad)
notepad main.c
notepad CMakeLists.txt
Ubuntu (Terminal / Nano)
nano main.c
nano CMakeLists.txt
1. File Contents for main.c 1. Содержимое файла main.c
#define MINIAUDIO_IMPLEMENTATION
#include <miniaudio.h>
#include <stdio.h>
int main(int argc, char *argv[]) {
ma_engine engine;
ma_result result = ma_engine_init(NULL, &engine);
if (result != MA_SUCCESS) {
printf("Failed to initialize miniaudio engine.\n");
return -1;
}
// Access the active backend via the device's context
ma_device* pDevice = ma_engine_get_device(&engine);
const char* backendName = ma_get_backend_name(pDevice->pContext->backend);
printf("miniaudio engine initialized successfully!\n");
printf("Active Audio Backend: %s\n", backendName);
ma_engine_uninit(&engine);
return 0;
}
2. File Contents for CMakeLists.txt 2. Содержимое файла CMakeLists.txt
cmake_minimum_required(VERSION 3.21)
project(miniaudio_test C)
add_executable(app main.c)
if(WIN32)
target_include_directories(app PRIVATE C:/libs/miniaudio-0.11.21/include)
else()
# On Linux, find miniaudio headers in ~/libs
target_include_directories(app PRIVATE $ENV{HOME}/libs/miniaudio-0.11.21/include)
# Link the standard math library (-lm) and thread library (-lpthread)
target_link_libraries(app PRIVATE m pthread)
endif()
Step 5: Create Build & Execution Scripts Шаг 5: Создание скриптов сборки и запуска
Windows (MinGW / Batch Scripts)
config-win.bat
cmake -G Ninja -S . -B dist/win
build-win.bat
cmake --build dist/win
run-win.bat
@echo off
.\dist\win\app.exe
Run the scripts sequentially in Command Prompt or PowerShell: Последовательно запустите скрипты в командной строке или PowerShell:
config-win.bat
build-win.bat
run-win.bat
Ubuntu (Bash Scripts)
config-linux.sh
#!/usr/bin/env bash
set -e
cmake -G Ninja -S . -B dist/linux
build-linux.sh
#!/usr/bin/env bash
set -e
cmake --build dist/linux
run-linux.sh
#!/usr/bin/env bash
set -e
./dist/linux/app
Grant execute permissions on Ubuntu before running: Предоставьте права на выполнение в Ubuntu перед запуском:
chmod +x config-linux.sh build-linux.sh run-linux.sh
./config-linux.sh
./build-linux.sh
./run-linux.sh
Step 6: Expected Output Шаг 6: Ожидаемый результат
When launched, the application initializes the ma_engine and outputs the active audio subsystem for your operating system:
При запуске приложение инициализирует ma_engine и выводит активную аудио-подсистему для вашей операционной системы:
Windows
miniaudio engine initialized successfully!
Active Audio Backend: WASAPI
Ubuntu
miniaudio engine initialized successfully!
Active Audio Backend: PulseAudio
Support My Work Поддержать проект
If these tutorials helped you, consider buying me a coffee! Если эти туториалы вам помогли, вы можете поддержать автора.
Sberbank (Russia only) Сбербанк (только для РФ)
Direct transfer via phone number (Russia only) Перевод по номеру телефона (только для РФ)
USDT TRC20
Support via Cryptocurrency Поддержка криптовалютой