6 void *(*get_buffer)(int *size);
\r
7 void (*start)(int rate, int bits, int nchan);
\r
11 void (*volume)(int vol);
\r
12 int (*isplaying)(void);
\r
15 static struct audrv drv;
\r
17 static audio_callback_func cbfunc;
\r
20 void audio_init(void)
\r
23 drv.get_buffer = sb_buffer;
\r
24 drv.start = sb_start;
\r
25 drv.pause = sb_pause;
\r
26 drv.cont = sb_continue;
\r
28 drv.volume = sb_volume;
\r
29 drv.isplaying = sb_isplaying;
\r
33 printf("No supported audio device detected\n");
\r
36 void audio_set_callback(audio_callback_func func, void *cls)
\r
42 int audio_callback(void *buf, int sz)
\r
47 return cbfunc(buf, sz, cbcls);
\r
50 void audio_play(int rate, int bits, int nchan)
\r
52 drv.start(rate, bits, nchan);
\r
55 void audio_pause(void)
\r
60 void audio_resume(void)
\r
65 void audio_stop(void)
\r
70 void audio_volume(int vol)
\r
75 int audio_isplaying(void)
\r
77 return drv.isplaying();
\r