From fa234f9663b992cf50bcf865a1cde6845b42193c Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 21 May 2018 16:02:00 +0800 Subject: =?UTF-8?q?=E4=BF=AE=E6=94=B9audio=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/libjin/audio/sdl/audio.cpp | 83 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 src/libjin/audio/sdl/audio.cpp (limited to 'src/libjin/audio/sdl/audio.cpp') diff --git a/src/libjin/audio/sdl/audio.cpp b/src/libjin/audio/sdl/audio.cpp new file mode 100644 index 0000000..0559c18 --- /dev/null +++ b/src/libjin/audio/sdl/audio.cpp @@ -0,0 +1,83 @@ +#include "audio.h" + +namespace jin +{ +namespace audio +{ + + onlyonce bool SDLAudio::_init(const SettingBase* s) + { + if (SDL_Init(SDL_INIT_AUDIO) < 0) + return false; + + const SDLAudioSetting* setting = (SDLAudioSetting*)s; + SDL_AudioSpec wanted; + zero(wanted); + wanted.freq = setting->rate; + wanted.format = setting->resolution; + wanted.channels = setting->channels; + wanted.samples = setting->samples; + wanted.userdata = setting->userdata; + wanted.callback = setting->callback; + + if (SDL_OpenAudio(&wanted, NULL) < 0) + { + return false; + } + // start audio + SDL_PauseAudio(0); + return true; + } + + onlyonce void SDLAudio::_quit() + { + SDL_CloseAudio(); + delete audio; + } + + void SDLAudio::defaultCallback(void *udata, Uint8 *stream, int len) + { + + } + + void SDLAudio::play() {} + + void SDLAudio::stop() {} + + bool SDLAudio::pause() + { + return false; + } + + bool SDLAudio::pause(Source* source) + { + return false; + } + + bool SDLAudio::resume() + { + return false; + } + + bool SDLAudio::resume(Source* source) + { + return false; + } + + void SDLAudio::rewind() + { + + } + + void SDLAudio::setVolume(float volume) + { + + } + + float SDLAudio::getVolume() + { + return 0.f; + } + +} +} -- cgit v1.1-26-g67d0