15#include <SFML/Audio.hpp>
32 _music.setVolume(100.f);
44 if (_music.getStatus() == sf::Music::Status::Playing)
51 if (_music.getStatus() != sf::Music::Status::Playing)
57 if (_music.getStatus() == sf::Music::Status::Stopped)
66 _music.setVolume(volume * 100.f);
70 return _music.getVolume() * 0.01f;
74 _music.setLooping(loop);
78 return _music.isLooping();
82 _music.setPlayingOffset(sf::seconds(clampTime(position)));
86 return _music.getPlayingOffset().asSeconds();
90 return _music.getDuration().asSeconds();
96 _music.setPosition({
static_cast<float>(position.x),
static_cast<float>(position.y),
static_cast<float>(position.z)});
104 _velocity = velocity;
111 float clampTime(
float position)
const {
114 if (position < 0.f)
return 0.f;
115 return (position > length) ? length : position;
119 Vector3f _position{};
120 Vector3f _velocity{};
sfml music stream.
Definition SfmlMusic.hpp:28
void setVelocity(Vector3f velocity) override
Definition SfmlMusic.hpp:103
void setLoop(bool loop) override
Definition SfmlMusic.hpp:73
void pause() override
Definition SfmlMusic.hpp:50
~SfmlMusic() override=default
bool getLoop() const override
Definition SfmlMusic.hpp:77
Vector3f getVelocity() const override
Definition SfmlMusic.hpp:106
SfmlMusic(std::string path)
Definition SfmlMusic.hpp:31
float getTime() const override
Definition SfmlMusic.hpp:85
bool isReady() const override
Definition SfmlMusic.hpp:37
float getLength() const override
Definition SfmlMusic.hpp:89
Vector3f getPosition() const override
Definition SfmlMusic.hpp:98
void setPosition(Vector3f position) override
Definition SfmlMusic.hpp:94
void setTime(float position) override
Definition SfmlMusic.hpp:81
float getVolume() const override
Definition SfmlMusic.hpp:69
void stop() override
Definition SfmlMusic.hpp:56
void play() override
Definition SfmlMusic.hpp:43
void update() override
Definition SfmlMusic.hpp:62
void setVolume(float volume) override
Definition SfmlMusic.hpp:65