From a05150392a14ded407ffbf8c735dd4f92354fcb8 Mon Sep 17 00:00:00 2001 From: raysan5 Date: Sat, 16 Jul 2016 19:24:08 +0200 Subject: Added audio standalone sample --- examples/audio_standalone.c | 74 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 examples/audio_standalone.c (limited to 'examples') diff --git a/examples/audio_standalone.c b/examples/audio_standalone.c new file mode 100644 index 00000000..1ae6324a --- /dev/null +++ b/examples/audio_standalone.c @@ -0,0 +1,74 @@ +/******************************************************************************************* +* +* raylib [audio] example - Using audio module as standalone module +* +* NOTE: This example does not require any graphic device, it can run directly on console. +* +* [audio] module requires some external libs: +* OpenAL Soft - Audio device management lib (http://kcat.strangesoft.net/openal.html) +* stb_vorbis - Ogg audio files loading (http://www.nothings.org/stb_vorbis/) +* jar_xm - XM module file loading +* jar_mod - MOD audio file loading +* +* Compile audio module using: +* gcc -c audio.c stb_vorbis.c -DAUDIO_STANDALONE +* +* Compile example using: +* gcc -o $(NAME_PART).exe $(FILE_NAME) audio.o stb_vorbis.o -lopenal32 -std=c99 +* +* This example has been created using raylib 1.5 (www.raylib.com) +* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +* +* Copyright (c) 2015 Ramon Santamaria (@raysan5) +* +********************************************************************************************/ + +#include +#include // Windows only, no stardard library + +#include "audio.h" + +#define KEY_ESCAPE 27 + +int main() +{ + unsigned char key; + + InitAudioDevice(); + + Sound fxWav = LoadSound("resources/audio/weird.wav"); // Load WAV audio file + Sound fxOgg = LoadSound("resources/audio/tanatana.ogg"); // Load OGG audio file + + PlayMusicStream(0, "resources/audio/guitar_noodling.ogg"); + + printf("\nPress s or d to play sounds...\n"); + + while (key != KEY_ESCAPE) + { + if (kbhit()) key = getch(); + + if (key == 's') + { + PlaySound(fxWav); + key = 0; + } + + if (key == 'd') + { + PlaySound(fxOgg); + key = 0; + } + + UpdateMusicStream(0); + } + + UnloadSound(fxWav); // Unload sound data + UnloadSound(fxOgg); // Unload sound data + + CloseAudioDevice(); + + printf("\n\nPress ENTER to close..."); + getchar(); + + return 0; +} \ No newline at end of file -- cgit v1.2.3