diff --git a/libraries/audio/src/AudioInjector.cpp b/libraries/audio/src/AudioInjector.cpp index b99e352445..2950441f64 100644 --- a/libraries/audio/src/AudioInjector.cpp +++ b/libraries/audio/src/AudioInjector.cpp @@ -107,7 +107,7 @@ void AudioInjector::injectAudio(AbstractAudioInterface* localAudioInterface) { currentPacketPosition += sizeof(radius); // pack 255 for attenuation byte - uchar volume = 255; + uchar volume = MAX_INJECTOR_VOLUME * _volume; memcpy(currentPacketPosition, &volume, sizeof(volume)); currentPacketPosition += sizeof(volume); diff --git a/libraries/audio/src/AudioInjector.h b/libraries/audio/src/AudioInjector.h index 37413fda7a..07b943f1c7 100644 --- a/libraries/audio/src/AudioInjector.h +++ b/libraries/audio/src/AudioInjector.h @@ -19,6 +19,8 @@ class AbstractAudioInterface; class QNetworkReply; +const uchar MAX_INJECTOR_VOLUME = 0xFF; + class AudioInjector : public QObject { Q_OBJECT public: @@ -28,6 +30,7 @@ public: void setPosition(const glm::vec3& position) { _position = position; } void setOrientation(const glm::quat& orientation) { _orientation = orientation; } + void setVolume(float volume) { _volume = std::max(fabsf(volume), 1.0f); } public slots: void injectViaThread(AbstractAudioInterface* localAudioInterface = NULL); @@ -38,6 +41,7 @@ private: QUrl _sourceURL; glm::vec3 _position; glm::quat _orientation; + float _volume; private slots: void startDownload();