00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00024
00025 #ifndef SFML_SOUND_HPP
00026 #define SFML_SOUND_HPP
00027
00029
00031 #include <SFML/Audio/SoundSource.hpp>
00032 #include <SFML/System/Resource.hpp>
00033 #include <cstdlib>
00034
00035
00036 namespace sf
00037 {
00038 class SoundBuffer;
00039
00044 class SFML_API Sound : public SoundSource
00045 {
00046 public :
00047
00052 Sound();
00053
00060 Sound(const SoundBuffer& buffer);
00061
00068 Sound(const Sound& copy);
00069
00074 ~Sound();
00075
00088 void Play();
00089
00099 void Pause();
00100
00111 void Stop();
00112
00125 void SetBuffer(const SoundBuffer& buffer);
00126
00140 void SetLoop(bool loop);
00141
00153 void SetPlayingOffset(Uint32 timeOffset);
00154
00161 const SoundBuffer* GetBuffer() const;
00162
00171 bool GetLoop() const;
00172
00181 Uint32 GetPlayingOffset() const;
00182
00189 Status GetStatus() const;
00190
00199 Sound& operator =(const Sound& right);
00200
00210 void ResetBuffer();
00211
00212 private :
00213
00215
00217 ResourcePtr<SoundBuffer> myBuffer;
00218 };
00219
00220 }
00221
00222
00223 #endif // SFML_SOUND_HPP
00224
00225