diff options
Diffstat (limited to 'engines/supernova/sound.cpp')
-rw-r--r-- | engines/supernova/sound.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/engines/supernova/sound.cpp b/engines/supernova/sound.cpp index e7f3ce83bd..dc1c7c3630 100644 --- a/engines/supernova/sound.cpp +++ b/engines/supernova/sound.cpp @@ -53,6 +53,14 @@ void Sound::play(MusicId index) { -1, Audio::Mixer::kMaxChannelVolume, 0, DisposeAfterUse::NO); } +void Sound::playSiren() { + Audio::AudioStream *stream = _resMan->getSirenStream(); + + stop(); + _mixer->playStream(Audio::Mixer::kPlainSoundType, &_soundHandle, stream, + -1, Audio::Mixer::kMaxChannelVolume, 0, DisposeAfterUse::NO); +} + bool Sound::isPlaying() { return _mixer->isSoundHandleActive(_soundHandle); } @@ -62,4 +70,12 @@ void Sound::stop() { _mixer->stopHandle(_soundHandle); } +int Sound::getVolume() { + return _mixer->getChannelVolume(_soundHandle); +} + +void Sound::setVolume(int volume) { + _mixer->setChannelVolume(_soundHandle, volume); +} + } |