diff options
| author | Loek Le Blansch <loek@pipeframe.xyz> | 2024-10-31 18:41:30 +0100 | 
|---|---|---|
| committer | Loek Le Blansch <loek@pipeframe.xyz> | 2024-10-31 18:41:30 +0100 | 
| commit | 8e3367b186e60eb1e33bf58a066823cb00a7566e (patch) | |
| tree | c4038a31993767276efec5fa1b1a37dff3b79465 /mwe/audio/soloud/main.cpp | |
| parent | b7df77d6cc26cb9ee46891d7108f01734b3104dd (diff) | |
| parent | 35ef3ba91ce9e00466508f2388f4c1dd2321b505 (diff) | |
Merge branch 'master' into poc/audio-miniaudio
Diffstat (limited to 'mwe/audio/soloud/main.cpp')
| -rw-r--r-- | mwe/audio/soloud/main.cpp | 47 | 
1 files changed, 47 insertions, 0 deletions
| diff --git a/mwe/audio/soloud/main.cpp b/mwe/audio/soloud/main.cpp new file mode 100644 index 0000000..50df0b7 --- /dev/null +++ b/mwe/audio/soloud/main.cpp @@ -0,0 +1,47 @@ +#include <soloud.h> +#include <soloud_wav.h> +#include <soloud_wavstream.h> + +#include <chrono> +#include <thread> + +using namespace std; +using namespace std::chrono_literals; + +int main() { +	SoLoud::Soloud soloud; +	soloud.init(); + +	// load background track +	SoLoud::WavStream bgm; +	bgm.load("../bgm.ogg"); +	// NOTE: SoLoud::Wav is poorly named as it also supports FLAC, MP3 and OGG + +	// load three short samples +	SoLoud::Wav sfx[3]; +	sfx[0].load("../sfx1.wav"); +	sfx[1].load("../sfx2.wav"); +	sfx[2].load("../sfx3.wav"); + +	// start the background track +	SoLoud::handle bgm_handle = soloud.play(bgm); + +	// play each sample sequentially +	this_thread::sleep_for(500ms); +	soloud.play(sfx[0]); +	this_thread::sleep_for(500ms); +	soloud.play(sfx[1]); +	soloud.setPause(bgm_handle, true); +	this_thread::sleep_for(500ms); +	soloud.play(sfx[2]); +	soloud.setPause(bgm_handle, false); +	this_thread::sleep_for(500ms); + +	// play all samples simultaniously +	for (unsigned i = 0; i < 3; i++) soloud.play(sfx[i]); +	this_thread::sleep_for(1000ms); + +	// stop all audio and exit +	soloud.deinit(); +	return 0; +} |