summaryrefslogtreecommitdiffstats
path: root/examples/multimedia/audiodevices
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2021-04-14 15:20:19 +0200
committerLars Knoll <lars.knoll@qt.io>2021-04-19 11:06:39 +0000
commit45861b09e330d76b1663fa2f809dd1de0740699e (patch)
tree6f6bd12b5bd58940cf7ec738ffacbef3a5bcc6d5 /examples/multimedia/audiodevices
parentb43c44e3e5aa89f076ba2846c30ca2edc435c741 (diff)
Make QMediaDeviceManager available to QML
This required some changes to the QMediaDeviceManager API, namely that it can be instantiated itself. Add required API as properties to QMediaDeviceManager and expose QAudioDeviceInfo and QCameraInfo as well. Change-Id: I4f7ef04d703f84cc6caefd62ad453f166e3b1c9b Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'examples/multimedia/audiodevices')
-rw-r--r--examples/multimedia/audiodevices/audiodevices.cpp10
-rw-r--r--examples/multimedia/audiodevices/audiodevices.h2
2 files changed, 7 insertions, 5 deletions
diff --git a/examples/multimedia/audiodevices/audiodevices.cpp b/examples/multimedia/audiodevices/audiodevices.cpp
index f49f1cb22..ed25fc52a 100644
--- a/examples/multimedia/audiodevices/audiodevices.cpp
+++ b/examples/multimedia/audiodevices/audiodevices.cpp
@@ -80,7 +80,8 @@ AudioDevicesBase::~AudioDevicesBase() = default;
AudioTest::AudioTest(QWidget *parent)
- : AudioDevicesBase(parent)
+ : AudioDevicesBase(parent),
+ m_manager(new QMediaDeviceManager(this))
{
connect(testButton, &QPushButton::clicked, this, &AudioTest::test);
connect(modeBox, QOverload<int>::of(&QComboBox::activated), this, &AudioTest::modeChanged);
@@ -89,8 +90,8 @@ AudioTest::AudioTest(QWidget *parent)
connect(channelsSpinBox, &QSpinBox::valueChanged, this, &AudioTest::channelChanged);
connect(sampleFormatBox, QOverload<int>::of(&QComboBox::activated), this, &AudioTest::sampleFormatChanged);
connect(populateTableButton, &QPushButton::clicked, this, &AudioTest::populateTable);
- connect(QMediaDeviceManager::instance(), &QMediaDeviceManager::audioInputsChanged, this, &AudioTest::updateAudioDevices);
- connect(QMediaDeviceManager::instance(), &QMediaDeviceManager::audioOutputsChanged, this, &AudioTest::updateAudioDevices);
+ connect(m_manager, &QMediaDeviceManager::audioInputsChanged, this, &AudioTest::updateAudioDevices);
+ connect(m_manager, &QMediaDeviceManager::audioOutputsChanged, this, &AudioTest::updateAudioDevices);
modeBox->setCurrentIndex(0);
modeChanged(0);
@@ -124,8 +125,7 @@ void AudioTest::test()
void AudioTest::updateAudioDevices()
{
deviceBox->clear();
- auto *deviceManager = QMediaDeviceManager::instance();
- const auto devices = m_mode == QAudio::AudioInput ? deviceManager->audioInputs() : deviceManager->audioOutputs();
+ const auto devices = m_mode == QAudio::AudioInput ? m_manager->audioInputs() : m_manager->audioOutputs();
for (auto &deviceInfo: devices)
deviceBox->addItem(deviceInfo.description(), QVariant::fromValue(deviceInfo));
}
diff --git a/examples/multimedia/audiodevices/audiodevices.h b/examples/multimedia/audiodevices/audiodevices.h
index 31ec479df..17d8d4888 100644
--- a/examples/multimedia/audiodevices/audiodevices.h
+++ b/examples/multimedia/audiodevices/audiodevices.h
@@ -52,6 +52,7 @@
#define AUDIODEVICES_H
#include <QAudioDeviceInfo>
+#include <QMediaDeviceManager>
#include <QMainWindow>
#include <QObject>
@@ -75,6 +76,7 @@ private:
QAudioDeviceInfo m_deviceInfo;
QAudioFormat m_settings;
QAudio::Mode m_mode = QAudio::AudioInput;
+ QMediaDeviceManager *m_manager = nullptr;
private slots:
void updateAudioDevices();