From 92dab582ccac31be7fa410e7f4fb3789e88a0629 Mon Sep 17 00:00:00 2001 From: chai Date: Sat, 28 Jul 2018 00:50:12 +0800 Subject: *update --- src/libjin/audio/sdl/audio.cpp | 121 ----------------------------------------- 1 file changed, 121 deletions(-) delete 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 deleted file mode 100644 index 47d8cf8..0000000 --- a/src/libjin/audio/sdl/audio.cpp +++ /dev/null @@ -1,121 +0,0 @@ -#include "../../modules.h" -#if JIN_MODULES_AUDIO && JIN_AUDIO_SDLAUDIO - -#include -#include "audio.h" -#include "source.h" -#include "../../math/math.h" -#include "../../utils/log.h" - -namespace jin -{ -namespace audio -{ - - /* 注意callback是在音频线程调用 */ - static void defaultCallback(void *userdata, Uint8 *stream, int size) - { - static SDLAudio* audio = static_cast(userdata); - audio->lock(); - audio->processCommands(); - audio->processSources(stream, size); - audio->unlock(); - } - - onlyonce bool SDLAudio::initSystem(const SettingBase* s) - { - Loghelper::log(Loglevel::LV_INFO, "Init Audio System"); - - if (SDL_Init(SDL_INIT_AUDIO) < 0) - return false; - SDL_AudioSpec spec; - Setting* setting = (Setting*)s; - if (setting == nullptr) - return false; - - unsigned int samplerate = setting->samplerate; - unsigned int samples = clamp(setting->samples, 1, setting->samplerate); - - spec.freq = samplerate; // 每秒采样的sample数,常用的有 11025, 22050, 44100 and 48000 Hz. - spec.format = AUDIO_S16SYS; // signed 16-bit samples in native byte order - spec.channels = SDLAUDIO_CHANNELS; // 立体声 - spec.samples = samples; // 每次采样时都一次性填充好,如果=setting->samplerate则每秒只调用1次 - spec.userdata = this; - spec.callback = defaultCallback; - - audioDevice = SDL_OpenAudioDevice(NULL, 0, &spec, NULL, 0); - if (audioDevice == 0) - return false; - /* start audio */ - SDL_PauseAudioDevice(audioDevice, 0); - return true; - } - - onlyonce void SDLAudio::quitSystem() - { - SDL_CloseAudio(); - } - - void SDLAudio::lock() - { - SDL_LockAudioDevice(audioDevice); - } - - void SDLAudio::unlock() - { - SDL_UnlockAudioDevice(audioDevice); - } - - void SDLAudio::processCommands() - { - SDLSourceManager::get()->processCommands(); - } - - void SDLAudio::processSources(void* buffer, size_t len) - { - SDLSourceManager::get()->processSources(buffer, 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; - } - -} -} - -#endif // JIN_MODULES_AUDIO && JIN_AUDIO_SDLAUDIO \ No newline at end of file -- cgit v1.1-26-g67d0