diff options
author | Miikka Heikkinen <miikka.heikkinen@qt.io> | 2021-10-14 14:47:28 +0300 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2021-10-15 06:29:47 +0000 |
commit | 6adc42ef8a62a7fc7566adf2fbc8a4a78f56b733 (patch) | |
tree | fa64648ed71c01aed57da18997c7343f53cef6c5 | |
parent | 236b2bf040a706ca84fa2695387a8c88a4e404a9 (diff) |
Fix audio example
Multimedia API has changed in Qt6.
Fixes: QTBUG-92544
Change-Id: Iaecaef13807a1a1e34afafc88369a3e54847cf80
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
(cherry picked from commit 06cd1b8e80920133b4de6c845456f08b43dcb6e7)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r-- | examples/charts/audio/main.cpp | 5 | ||||
-rw-r--r-- | examples/charts/audio/widget.cpp | 23 | ||||
-rw-r--r-- | examples/charts/audio/widget.h | 6 |
3 files changed, 20 insertions, 14 deletions
diff --git a/examples/charts/audio/main.cpp b/examples/charts/audio/main.cpp index 8c4eca66..712a7c14 100644 --- a/examples/charts/audio/main.cpp +++ b/examples/charts/audio/main.cpp @@ -29,7 +29,8 @@ #include "widget.h" -#include <QtMultimedia/QAudioDeviceInfo> +#include <QtMultimedia/QAudioDevice> +#include <QtMultimedia/QMediaDevices> #include <QtWidgets/QApplication> #include <QtWidgets/QMessageBox> @@ -37,7 +38,7 @@ int main(int argc, char *argv[]) { QApplication a(argc, argv); - const QAudioDeviceInfo inputDevice = QAudioDeviceInfo::defaultInputDevice(); + const QAudioDevice inputDevice = QMediaDevices::defaultAudioInput(); if (inputDevice.isNull()) { QMessageBox::warning(nullptr, "audio", "There is no audio input device available."); diff --git a/examples/charts/audio/widget.cpp b/examples/charts/audio/widget.cpp index c4945067..1a63150b 100644 --- a/examples/charts/audio/widget.cpp +++ b/examples/charts/audio/widget.cpp @@ -30,8 +30,9 @@ #include "widget.h" #include "xyseriesiodevice.h" -#include <QtMultimedia/QAudioDeviceInfo> +#include <QtMultimedia/QAudioDevice> #include <QtMultimedia/QAudioInput> +#include <QtMultimedia/QAudioSource> #include <QtCharts/QChartView> #include <QtCharts/QLineSeries> @@ -42,7 +43,7 @@ QT_USE_NAMESPACE -Widget::Widget(const QAudioDeviceInfo &deviceInfo, QWidget *parent) : +Widget::Widget(const QAudioDevice &deviceInfo, QWidget *parent) : QWidget(parent), m_chart(new QChart), m_series(new QLineSeries) @@ -62,29 +63,31 @@ Widget::Widget(const QAudioDeviceInfo &deviceInfo, QWidget *parent) : m_chart->addAxis(axisY, Qt::AlignLeft); m_series->attachAxis(axisY); m_chart->legend()->hide(); - m_chart->setTitle("Data from the microphone (" + deviceInfo.deviceName() + ')'); + m_chart->setTitle("Data from the microphone (" + deviceInfo.description() + ')'); QVBoxLayout *mainLayout = new QVBoxLayout(this); mainLayout->addWidget(chartView); + m_audioInput = new QAudioInput(deviceInfo, this); + QAudioFormat formatAudio; formatAudio.setSampleRate(8000); formatAudio.setChannelCount(1); - formatAudio.setSampleSize(8); - formatAudio.setCodec("audio/pcm"); - formatAudio.setByteOrder(QAudioFormat::LittleEndian); - formatAudio.setSampleType(QAudioFormat::UnSignedInt); + formatAudio.setSampleFormat(QAudioFormat::UInt8); - m_audioInput = new QAudioInput(deviceInfo, formatAudio, this); + m_audioSource = new QAudioSource(deviceInfo, formatAudio); + m_audioSource->setBufferSize(200); m_device = new XYSeriesIODevice(m_series, this); m_device->open(QIODevice::WriteOnly); - m_audioInput->start(m_device); + m_audioSource->start(m_device); } Widget::~Widget() { - m_audioInput->stop(); + m_audioSource->stop(); m_device->close(); + delete m_audioInput; + delete m_device; } diff --git a/examples/charts/audio/widget.h b/examples/charts/audio/widget.h index f4c3f049..64a130a2 100644 --- a/examples/charts/audio/widget.h +++ b/examples/charts/audio/widget.h @@ -44,7 +44,8 @@ class XYSeriesIODevice; QT_BEGIN_NAMESPACE class QAudioInput; -class QAudioDeviceInfo; +class QAudioDevice; +class QAudioSource; QT_END_NAMESPACE class Widget : public QWidget @@ -52,7 +53,7 @@ class Widget : public QWidget Q_OBJECT public: - explicit Widget(const QAudioDeviceInfo &deviceInfo, QWidget *parent = nullptr); + explicit Widget(const QAudioDevice &deviceInfo, QWidget *parent = nullptr); ~Widget(); private: @@ -60,6 +61,7 @@ private: QChart *m_chart; QLineSeries *m_series ; QAudioInput *m_audioInput = nullptr; + QAudioSource *m_audioSource = nullptr; }; #endif // WIDGET_H |