From 066e5987c515dfc34537d73ca9d2a81ddd1f9e1b Mon Sep 17 00:00:00 2001 From: chai Date: Sun, 21 Oct 2018 13:37:27 +0800 Subject: =?UTF-8?q?*=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/libjin/Audio/je_audio_manager.h | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) (limited to 'src/libjin/Audio/je_audio_manager.h') diff --git a/src/libjin/Audio/je_audio_manager.h b/src/libjin/Audio/je_audio_manager.h index 86716ef..10df08c 100644 --- a/src/libjin/Audio/je_audio_manager.h +++ b/src/libjin/Audio/je_audio_manager.h @@ -16,10 +16,16 @@ namespace JinEngine class Source; + /// + /// Audio manager. + /// template class AudioManager : public Subsystem { public: + /// + /// Audio state. + /// enum State { PLAY , @@ -27,19 +33,45 @@ namespace JinEngine PAUSE, }; + /// + /// Play all sources whose state is playing. + /// virtual void play() = 0; + + /// + /// Stop and remove all sources from the queue. + /// virtual void stop() = 0; + + /// + /// Pause audio. + /// virtual void pause() = 0; + + /// + /// Resume audio. + /// virtual void resume() = 0; + + /// + /// Set global audio volume. + /// virtual void setVolume(float volume) = 0; protected: singleton(AudioManager); + /// + /// AudioManager constructor. + /// AudioManager() : volume(1) , state(State::PLAY) {}; + + /// + /// AudioManager destructor. + /// virtual ~AudioManager() {}; float volume; @@ -52,4 +84,4 @@ namespace JinEngine #endif // LIBJIN_MODULES_AUDIO -#endif // __JE_AUDIO_H +#endif // __JE_AUDIO_H \ No newline at end of file -- cgit v1.1-26-g67d0