#include "SoundEffect.h" #include #include SoundEffect::~SoundEffect() { if (_injector) { // stop will cause the AudioInjector to delete itself. _injector->stop(); } } QUrl SoundEffect::getSource() const { return _url; } void SoundEffect::setSource(QUrl url) { _url = url; _sound = DependencyManager::get()->getSound(_url); } float SoundEffect::getVolume() const { return _volume; } void SoundEffect::setVolume(float volume) { _volume = volume; } void SoundEffect::play(QVariant position) { AudioInjectorOptions options; options.position = vec3FromVariant(position); options.localOnly = true; options.volume = _volume; if (_injector) { _injector->setOptions(options); _injector->restart(); } else { QByteArray samples = _sound->getByteArray(); _injector = AudioInjector::playSound(samples, options); } } #include "SoundEffect.moc"