summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
Diffstat (limited to 'examples')
-rw-r--r--examples/multimedia/audioinput/audioinput.cpp14
-rw-r--r--examples/multimedia/audiooutput/audiooutput.cpp15
-rw-r--r--examples/multimedia/multimedia.pro3
-rw-r--r--examples/multimediawidgets/player/player.cpp12
-rw-r--r--examples/multimediawidgets/player/player.h4
-rw-r--r--examples/multimediawidgets/player/player.pro4
-rw-r--r--examples/multimediawidgets/player/playercontrols.cpp21
-rw-r--r--examples/multimediawidgets/player/playercontrols.h1
8 files changed, 43 insertions, 31 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);
+ }
}
diff --git a/examples/multimedia/audiooutput/audiooutput.cpp b/examples/multimedia/audiooutput/audiooutput.cpp
index a00ffbb00..3e9ec7377 100644
--- a/examples/multimedia/audiooutput/audiooutput.cpp
+++ b/examples/multimedia/audiooutput/audiooutput.cpp
@@ -250,7 +250,11 @@ void AudioTest::createAudioOutput()
m_audioOutput = new QAudioOutput(m_device, m_format, this);
m_generator->start();
m_audioOutput->start(m_generator);
- m_volumeSlider->setValue(int(m_audioOutput->volume()*100.0f));
+
+ qreal initialVolume = QAudio::convertVolume(m_audioOutput->volume(),
+ QAudio::LinearVolumeScale,
+ QAudio::LogarithmicVolumeScale);
+ m_volumeSlider->setValue(qRound(initialVolume * 100));
}
AudioTest::~AudioTest()
@@ -270,8 +274,13 @@ void AudioTest::deviceChanged(int index)
void AudioTest::volumeChanged(int value)
{
- if (m_audioOutput)
- m_audioOutput->setVolume(qreal(value/100.0f));
+ if (m_audioOutput) {
+ qreal linearVolume = QAudio::convertVolume(value / qreal(100),
+ QAudio::LogarithmicVolumeScale,
+ QAudio::LinearVolumeScale);
+
+ m_audioOutput->setVolume(linearVolume);
+ }
}
void AudioTest::pushTimerExpired()
diff --git a/examples/multimedia/multimedia.pro b/examples/multimedia/multimedia.pro
index 449cb150f..0a01439c4 100644
--- a/examples/multimedia/multimedia.pro
+++ b/examples/multimedia/multimedia.pro
@@ -1,4 +1,5 @@
TEMPLATE = subdirs
+QT_FOR_CONFIG += multimedia-private
SUBDIRS += audiodecoder
@@ -20,5 +21,5 @@ qtHaveModule(quick) {
video
}
-config_openal: SUBDIRS += audioengine
+qtConfig(openal): SUBDIRS += audioengine
diff --git a/examples/multimediawidgets/player/player.cpp b/examples/multimediawidgets/player/player.cpp
index e787aa269..ab048838a 100644
--- a/examples/multimediawidgets/player/player.cpp
+++ b/examples/multimediawidgets/player/player.cpp
@@ -55,9 +55,7 @@ Player::Player(QWidget *parent)
, videoWidget(0)
, coverLabel(0)
, slider(0)
-#ifndef PLAYER_NO_COLOROPTIONS
, colorDialog(0)
-#endif
{
//! [create-objs]
player = new QMediaPlayer(this);
@@ -135,11 +133,9 @@ Player::Player(QWidget *parent)
fullScreenButton = new QPushButton(tr("FullScreen"), this);
fullScreenButton->setCheckable(true);
-#ifndef PLAYER_NO_COLOROPTIONS
colorButton = new QPushButton(tr("Color Options..."), this);
colorButton->setEnabled(false);
connect(colorButton, SIGNAL(clicked()), this, SLOT(showColorDialog()));
-#endif
QBoxLayout *displayLayout = new QHBoxLayout;
displayLayout->addWidget(videoWidget, 2);
@@ -152,9 +148,7 @@ Player::Player(QWidget *parent)
controlLayout->addWidget(controls);
controlLayout->addStretch(1);
controlLayout->addWidget(fullScreenButton);
-#ifndef PLAYER_NO_COLOROPTIONS
controlLayout->addWidget(colorButton);
-#endif
QBoxLayout *layout = new QVBoxLayout;
layout->addLayout(displayLayout);
@@ -175,9 +169,7 @@ Player::Player(QWidget *parent)
controls->setEnabled(false);
playlistView->setEnabled(false);
openButton->setEnabled(false);
-#ifndef PLAYER_NO_COLOROPTIONS
colorButton->setEnabled(false);
-#endif
fullScreenButton->setEnabled(false);
}
@@ -347,9 +339,7 @@ void Player::videoAvailableChanged(bool available)
if (fullScreenButton->isChecked())
videoWidget->setFullScreen(true);
}
-#ifndef PLAYER_NO_COLOROPTIONS
colorButton->setEnabled(available);
-#endif
}
void Player::setTrackInfo(const QString &info)
@@ -389,7 +379,6 @@ void Player::updateDurationInfo(qint64 currentInfo)
labelDuration->setText(tStr);
}
-#ifndef PLAYER_NO_COLOROPTIONS
void Player::showColorDialog()
{
if (!colorDialog) {
@@ -434,4 +423,3 @@ void Player::showColorDialog()
}
colorDialog->show();
}
-#endif
diff --git a/examples/multimediawidgets/player/player.h b/examples/multimediawidgets/player/player.h
index 7f5d0881b..ca643bd7d 100644
--- a/examples/multimediawidgets/player/player.h
+++ b/examples/multimediawidgets/player/player.h
@@ -94,9 +94,7 @@ private slots:
void displayErrorMessage();
-#ifndef PLAYER_NO_COLOROPTIONS
void showColorDialog();
-#endif
private:
void setTrackInfo(const QString &info);
@@ -111,10 +109,8 @@ private:
QSlider *slider;
QLabel *labelDuration;
QPushButton *fullScreenButton;
-#ifndef PLAYER_NO_COLOROPTIONS
QPushButton *colorButton;
QDialog *colorDialog;
-#endif
QLabel *labelHistogram;
HistogramWidget *histogram;
diff --git a/examples/multimediawidgets/player/player.pro b/examples/multimediawidgets/player/player.pro
index 067b31b11..0c5be6888 100644
--- a/examples/multimediawidgets/player/player.pro
+++ b/examples/multimediawidgets/player/player.pro
@@ -20,9 +20,5 @@ SOURCES = main.cpp \
videowidget.cpp \
histogramwidget.cpp
-maemo* {
- DEFINES += PLAYER_NO_COLOROPTIONS
-}
-
target.path = $$[QT_INSTALL_EXAMPLES]/multimediawidgets/player
INSTALLS += target
diff --git a/examples/multimediawidgets/player/playercontrols.cpp b/examples/multimediawidgets/player/playercontrols.cpp
index 07aa2e731..3d968b452 100644
--- a/examples/multimediawidgets/player/playercontrols.cpp
+++ b/examples/multimediawidgets/player/playercontrols.cpp
@@ -45,6 +45,7 @@
#include <QStyle>
#include <QToolButton>
#include <QComboBox>
+#include <QAudio>
PlayerControls::PlayerControls(QWidget *parent)
: QWidget(parent)
@@ -87,7 +88,7 @@ PlayerControls::PlayerControls(QWidget *parent)
volumeSlider = new QSlider(Qt::Horizontal, this);
volumeSlider->setRange(0, 100);
- connect(volumeSlider, SIGNAL(sliderMoved(int)), this, SIGNAL(changeVolume(int)));
+ connect(volumeSlider, SIGNAL(valueChanged(int)), this, SLOT(onVolumeSliderValueChanged()));
rateBox = new QComboBox(this);
rateBox->addItem("0.5x", QVariant(0.5));
@@ -138,13 +139,20 @@ void PlayerControls::setState(QMediaPlayer::State state)
int PlayerControls::volume() const
{
- return volumeSlider ? volumeSlider->value() : 0;
+ qreal linearVolume = QAudio::convertVolume(volumeSlider->value() / qreal(100),
+ QAudio::LogarithmicVolumeScale,
+ QAudio::LinearVolumeScale);
+
+ return qRound(linearVolume * 100);
}
void PlayerControls::setVolume(int volume)
{
- if (volumeSlider)
- volumeSlider->setValue(volume);
+ qreal logarithmicVolume = QAudio::convertVolume(volume / qreal(100),
+ QAudio::LinearVolumeScale,
+ QAudio::LogarithmicVolumeScale);
+
+ volumeSlider->setValue(qRound(logarithmicVolume * 100));
}
bool PlayerControls::isMuted() const
@@ -203,3 +211,8 @@ void PlayerControls::updateRate()
{
emit changeRate(playbackRate());
}
+
+void PlayerControls::onVolumeSliderValueChanged()
+{
+ emit changeVolume(volume());
+}
diff --git a/examples/multimediawidgets/player/playercontrols.h b/examples/multimediawidgets/player/playercontrols.h
index 0ab195faa..d29a06d6c 100644
--- a/examples/multimediawidgets/player/playercontrols.h
+++ b/examples/multimediawidgets/player/playercontrols.h
@@ -82,6 +82,7 @@ private slots:
void playClicked();
void muteClicked();
void updateRate();
+ void onVolumeSliderValueChanged();
private:
QMediaPlayer::State playerState;