Skip to content

Commit 4e40a16

Browse files
committedDec 3, 2020
Add miniaudio engine playback example
1 parent 9c89b28 commit 4e40a16

File tree

3 files changed

+50
-2
lines changed

3 files changed

+50
-2
lines changed
 

‎.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,5 @@
22
libogg-*
33
libvorbis-*
44
miniaudio.h
5+
miniaudio_engine.h
6+
stb_vorbis.*

‎examples/Makefile

+5-2
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,19 @@ CC=gcc
22
CFLAGS=-O2
33
LDFLAGS=-ldl -lm -lpthread
44

5-
all: example playback
5+
all: example playback playback2
66

77
example: example.c ../minivorbis.h
88
$(CC) $(CFLAGS) -o example example.c $(LDFLAGS)
99

1010
playback: playback.c ../minivorbis.h ../miniaudio_vorbis.h ../miniaudio.h
1111
$(CC) $(CFLAGS) -o playback playback.c $(LDFLAGS)
1212

13+
playback2: playback2.c ../minivorbis.h ../miniaudio_vorbis.h ../miniaudio_engine.h ../miniaudio.h
14+
$(CC) $(CFLAGS) -o playback2 playback2.c $(LDFLAGS)
15+
1316
test: all
1417
./example
1518

1619
clean:
17-
rm -f example playback *.exe
20+
rm -f example playback playback2 *.exe

‎examples/playback2.c

+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
#if 1
2+
#include "../miniaudio.h"
3+
#include "../miniaudio_vorbis.h"
4+
#include "../miniaudio_engine.h"
5+
#define MINIAUDIO_IMPLEMENTATION
6+
#include "../miniaudio.h"
7+
#include "../miniaudio_vorbis.h"
8+
#include "../miniaudio_engine.h"
9+
#else
10+
#define STB_VORBIS_HEADER_ONLY
11+
#include "../stb_vorbis.h"
12+
#define MINIAUDIO_IMPLEMENTATION
13+
#include "../miniaudio.h"
14+
#include "../miniaudio_engine.h"
15+
#undef STB_VORBIS_HEADER_ONLY
16+
#include "../stb_vorbis.h"
17+
#endif
18+
19+
int main(int argc, char** argv)
20+
{
21+
ma_result result;
22+
ma_engine engine;
23+
24+
if (argc < 2) {
25+
printf("No input file.");
26+
return -1;
27+
}
28+
29+
result = ma_engine_init(NULL, &engine);
30+
if (result != MA_SUCCESS) {
31+
printf("Failed to initialize audio engine.");
32+
return -1;
33+
}
34+
35+
ma_engine_play_sound(&engine, argv[1], NULL);
36+
37+
printf("Press Enter to quit...");
38+
getchar();
39+
40+
ma_engine_uninit(&engine);
41+
42+
return 0;
43+
}

0 commit comments

Comments
 (0)