24 lines
637 B
C
24 lines
637 B
C
SDL_AudioSpec unigi_platform_audio_spec;
|
|
|
|
void unigi_platform_audio_callback(void * userdata, uint8_t * stream, int len) {
|
|
void (* callback)(uint8_t *, size_t) = userdata;
|
|
callback(stream, len);
|
|
}
|
|
|
|
unigi_type_error unigi_sound_init(void (* callback)(uint8_t *, size_t)) {
|
|
SDL_AudioSpec desired;
|
|
desired.freq = 44100;
|
|
desired.channels = 2;
|
|
desired.samples = 1024;
|
|
desired.callback = unigi_platform_audio_callback;
|
|
desired.userdata = callback;
|
|
|
|
if (SDL_OpenAudio(&desired, &unigi_platform_audio_spec) < 0) {
|
|
printf("Could not initialize audio: %s\n",SDL_GetError());
|
|
return 1;
|
|
} else {
|
|
SDL_PauseAudio(0);
|
|
return 0;
|
|
}
|
|
}
|