diff options
author | chai <chaifix@163.com> | 2018-05-21 23:33:33 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2018-05-21 23:33:33 +0800 |
commit | 1deb2a5f8a1c9b44ad38eea73449250d46ec0ce7 (patch) | |
tree | 34ec91e569965762c65bf6e01f854f96720fa3c1 /src/libjin/audio/sdl/source.h | |
parent | 628a35692a165cdd6e26fac1beb274f2c7055483 (diff) |
更新音频模块
Diffstat (limited to 'src/libjin/audio/sdl/source.h')
-rw-r--r-- | src/libjin/audio/sdl/source.h | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/libjin/audio/sdl/source.h b/src/libjin/audio/sdl/source.h index 052a49e..5ea2cf2 100644 --- a/src/libjin/audio/sdl/source.h +++ b/src/libjin/audio/sdl/source.h @@ -11,6 +11,50 @@ namespace audio class SDLSource : public Source { + public: + + SDLSource() {} + ~SDLSource() {} + + void generateSamples(Uint8* streamIn, int len); + + /* ISource interface */ + void play() override; + void stop() override; + void pause() override; + void resume() override; + void rewind() override; + void isStopped() const override; + void isPaused() const override; + void isFinished() const override; + void setPitch(float pitch) override; + void setVolume(float volume) override; + bool setLoop(bool loop) override; + void setRate(float rate) override; + + private: + + typedef struct Command + { + typedef enum Action + { + Nothing = 0, + Play, + Stop, + Pause, + Resume, + Rewind, + SetVolume, + }; + Action action; + union { + int _integer; + bool _boolean; + const char* _string; + } parameter; + }; + + Command command; }; } |