summaryrefslogtreecommitdiffstats
path: root/examples/multimedia/audioinput/audioinput.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/multimedia/audioinput/audioinput.cpp')
-rw-r--r--examples/multimedia/audioinput/audioinput.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/examples/multimedia/audioinput/audioinput.cpp b/examples/multimedia/audioinput/audioinput.cpp
index fd73d4f16..cdf56af99 100644
--- a/examples/multimedia/audioinput/audioinput.cpp
+++ b/examples/multimedia/audioinput/audioinput.cpp
@@ -315,7 +315,10 @@ void InputTest::initializeAudio()
void InputTest::createAudioInput()
{
m_audioInput = new QAudioInput(m_device, m_format, this);
- m_volumeSlider->setValue(m_audioInput->volume() * 100);
+ qreal initialVolume = QAudio::convertVolume(m_audioInput->volume(),
+ QAudio::LinearVolumeScale,
+ QAudio::LogarithmicVolumeScale);
+ m_volumeSlider->setValue(qRound(initialVolume * 100));
m_audioInfo->start();
m_audioInput->start(m_audioInfo);
}
@@ -386,6 +389,11 @@ void InputTest::deviceChanged(int index)
void InputTest::sliderChanged(int value)
{
- if (m_audioInput)
- m_audioInput->setVolume(qreal(value) / 100);
+ if (m_audioInput) {
+ qreal linearVolume = QAudio::convertVolume(value / qreal(100),
+ QAudio::LogarithmicVolumeScale,
+ QAudio::LinearVolumeScale);
+
+ m_audioInput->setVolume(linearVolume);
+ }
}