summaryrefslogtreecommitdiffstats
path: root/examples/multimedia/audioinput
diff options
context:
space:
mode:
authorYoann Lopes <yoann.lopes@qt.io>2016-05-19 16:38:11 +0200
committerYoann Lopes <yoann.lopes@qt.io>2016-06-03 21:12:02 +0000
commit838c12bce8d0d48ef50f485e6f611990742d7b8f (patch)
tree5260582241f92f586bcb11ad8ae84913ed5875f5 /examples/multimedia/audioinput
parentfe46759fc0a39418a3b5f32cf78a162c35a7aef7 (diff)
Use new volume conversion API in examples.
Volumes sliders are now scaled cubically so that loudness changes are perceived linearly. Change-Id: Ibf00d6a97d872063d92457493417be5eb42f79ac Reviewed-by: Christian Stromme <christian.stromme@qt.io>
Diffstat (limited to 'examples/multimedia/audioinput')
-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..da5966598 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::CubicVolumeScale);
+ 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::CubicVolumeScale,
+ QAudio::LinearVolumeScale);
+
+ m_audioInput->setVolume(linearVolume);
+ }
}