Skip to content

Commit c8bdfac

Browse files
committed
AudioPlayer: Ignore uninitialized sounds
1 parent d2e3104 commit c8bdfac

File tree

2 files changed

+8
-4
lines changed

2 files changed

+8
-4
lines changed

src/audio/audioplayer.cpp

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,20 +51,23 @@ bool AudioPlayer::load(unsigned int size, const void *data, unsigned long sample
5151
}
5252

5353
m_loaded = true;
54+
ma_sound_set_volume(m_sound, m_volume);
5455
return true;
5556
}
5657

5758
void AudioPlayer::setVolume(float volume)
5859
{
59-
if (!AudioEngine::initialized())
60+
m_volume = volume;
61+
62+
if (!m_loaded)
6063
return;
6164

6265
ma_sound_set_volume(m_sound, volume);
6366
}
6467

6568
void AudioPlayer::start()
6669
{
67-
if (!AudioEngine::initialized())
70+
if (!m_loaded)
6871
return;
6972

7073
if (isPlaying())
@@ -88,7 +91,7 @@ void AudioPlayer::start()
8891

8992
void AudioPlayer::stop()
9093
{
91-
if (!AudioEngine::initialized())
94+
if (!m_loaded)
9295
return;
9396

9497
ma_result result = ma_sound_stop(m_sound);
@@ -100,7 +103,7 @@ void AudioPlayer::stop()
100103

101104
bool AudioPlayer::isPlaying() const
102105
{
103-
if (!AudioEngine::initialized())
106+
if (!m_loaded)
104107
return false;
105108

106109
return m_started && !m_sound->atEnd;

src/audio/audioplayer.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ class AudioPlayer : public IAudioPlayer
2929
ma_sound *m_sound;
3030
bool m_loaded = false;
3131
bool m_started = false;
32+
float m_volume = 1;
3233
};
3334

3435
} // namespace libscratchcpp

0 commit comments

Comments
 (0)