Add support for initing specific device

This commit is contained in:
Cherry 2026-01-12 18:58:05 +03:00
commit 8f33ca4bb9
10 changed files with 107 additions and 15 deletions

View file

@ -55,7 +55,8 @@ int main(void)
InitWindow(screenWidth, screenHeight, "raylib [audio] example - processing mixed output");
InitAudioDevice(); // Initialize audio device
InitAudioContext();
InitAudioDevice(0); // Initialize audio device
AttachAudioMixedProcessor(ProcessAudio);

View file

@ -37,7 +37,8 @@ int main(void)
InitWindow(screenWidth, screenHeight, "raylib [audio] example - module playing (streaming)");
InitAudioDevice(); // Initialize audio device
InitAudioContext();
InitAudioDevice(0); // Initialize audio device
Color colors[14] = { ORANGE, RED, GOLD, LIME, BLUE, VIOLET, BROWN, LIGHTGRAY, PINK,
YELLOW, GREEN, SKYBLUE, PURPLE, BEIGE };

View file

@ -12,6 +12,11 @@
********************************************************************************************/
#include "raylib.h"
#include <stdio.h>
void AudioDevicesQuery(int index, char* deviceName, bool isDefault) {
printf("index: %d / deviceName: %s / isDefault: %d\n", index, deviceName, isDefault);
}
//------------------------------------------------------------------------------------
// Program main entry point
@ -25,7 +30,11 @@ int main(void)
InitWindow(screenWidth, screenHeight, "raylib [audio] example - music playing (streaming)");
InitAudioDevice(); // Initialize audio device
InitAudioContext();
QueryAudioDevices(AudioDevicesQuery);
InitAudioDevice(0); // Initialize audio device
Music music = LoadMusicStream("resources/country.mp3");
@ -90,6 +99,7 @@ int main(void)
UnloadMusicStream(music); // Unload music stream buffers from RAM
CloseAudioDevice(); // Close audio device (music streaming is automatically stopped)
CloseAudioDevice();
CloseWindow(); // Close window and OpenGL context
//--------------------------------------------------------------------------------------

View file

@ -62,7 +62,8 @@ int main(void)
InitWindow(screenWidth, screenHeight, "raylib [audio] example - raw audio streaming");
InitAudioDevice(); // Initialize audio device
InitAudioContext();
InitAudioDevice(0); // Initialize audio device
SetAudioStreamBufferSizeDefault(MAX_SAMPLES_PER_UPDATE);

View file

@ -25,7 +25,8 @@ int main(void)
InitWindow(screenWidth, screenHeight, "raylib [audio] example - sound loading and playing");
InitAudioDevice(); // Initialize audio device
InitAudioContext();
InitAudioDevice(0); // Initialize audio device
Sound fxWav = LoadSound("resources/sound.wav"); // Load WAV audio file
Sound fxOgg = LoadSound("resources/target.ogg"); // Load OGG audio file

View file

@ -29,7 +29,8 @@ int main(void)
InitWindow(screenWidth, screenHeight, "raylib [audio] example - playing sound multiple times");
InitAudioDevice(); // Initialize audio device
InitAudioContext();
InitAudioDevice(0); // Initialize audio device
// load the sound list
soundArray[0] = LoadSound("resources/sound.wav"); // Load WAV audio file into the first slot as the 'source' sound

View file

@ -39,7 +39,8 @@ int main(void)
InitWindow(screenWidth, screenHeight, "raylib [audio] example - stream effects");
InitAudioDevice(); // Initialize audio device
InitAudioContext();
InitAudioDevice(0); // Initialize audio device
Music music = LoadMusicStream("resources/country.mp3");

View file

@ -30,7 +30,8 @@ int main(void)
InitWindow(screenWidth, screenHeight, "raylib [others] example - embedded files loading");
InitAudioDevice(); // Initialize audio device
InitAudioContext();
InitAudioDevice(0); // Initialize audio device
// Loaded in CPU memory (RAM) from header file (audio_data.h)
// Same as: Wave wave = LoadWave("sound.wav");

View file

@ -27,7 +27,8 @@ int main(void)
InitWindow(screenWidth, screenHeight, "raylib [textures] example - sprite button");
InitAudioDevice(); // Initialize audio device
InitAudioContext();
InitAudioDevice(0); // Initialize audio device
Sound fxButton = LoadSound("resources/buttonfx.wav"); // Load button sound
Texture2D button = LoadTexture("resources/button.png"); // Load button texture

View file

@ -28,7 +28,8 @@ int main(void)
InitWindow(screenWidth, screenHeight, "raylib [textures] example - sprite explosion");
InitAudioDevice();
InitAudioContext();
InitAudioDevice(0);
// Load explosion sound
Sound fxBoom = LoadSound("resources/boom.wav");