diff options
Diffstat (limited to 'examples/multimediawidgets/camera')
-rw-r--r-- | examples/multimediawidgets/camera/camera.cpp | 7 | ||||
-rw-r--r-- | examples/multimediawidgets/camera/camera.h | 2 | ||||
-rw-r--r-- | examples/multimediawidgets/camera/videosettings.cpp | 6 |
3 files changed, 11 insertions, 4 deletions
diff --git a/examples/multimediawidgets/camera/camera.cpp b/examples/multimediawidgets/camera/camera.cpp index 8e339a6cb..0e8d2b4a3 100644 --- a/examples/multimediawidgets/camera/camera.cpp +++ b/examples/multimediawidgets/camera/camera.cpp @@ -60,6 +60,7 @@ #include <QMediaMetaData> #include <QMediaDevices> #include <QAudioDevice> +#include <QAudioInput> #include <QMessageBox> #include <QPalette> @@ -74,6 +75,9 @@ Camera::Camera() { ui->setupUi(this); + m_audioInput.reset(new QAudioInput); + m_captureSession.setAudioInput(m_audioInput.get()); + //Camera devices: videoDevicesGroup = new QActionGroup(this); @@ -110,7 +114,6 @@ void Camera::setCamera(const QCameraDevice &cameraInfo) connect(ui->exposureCompensation, &QAbstractSlider::valueChanged, this, &Camera::setExposureCompensation); m_captureSession.setVideoOutput(ui->viewfinder); - m_captureSession.setAudioInput(QMediaDevices::defaultAudioInput()); updateCameraActive(m_camera->isActive()); updateRecorderState(m_mediaEncoder->state()); @@ -229,7 +232,7 @@ void Camera::stop() void Camera::setMuted(bool muted) { - m_captureSession.setMuted(muted); + m_captureSession.audioInput()->setMuted(muted); } void Camera::takeImage() diff --git a/examples/multimediawidgets/camera/camera.h b/examples/multimediawidgets/camera/camera.h index 95e436744..c30927deb 100644 --- a/examples/multimediawidgets/camera/camera.h +++ b/examples/multimediawidgets/camera/camera.h @@ -58,6 +58,7 @@ #include <QMediaMetaData> #include <QMediaCaptureSession> #include <QMediaDevices> +#include <QAudioInput> #include <QMainWindow> @@ -133,6 +134,7 @@ private: QMediaDevices m_devices; QMediaCaptureSession m_captureSession; QScopedPointer<QCamera> m_camera; + QScopedPointer<QAudioInput> m_audioInput; QCameraImageCapture *m_imageCapture; QScopedPointer<QMediaEncoder> m_mediaEncoder; diff --git a/examples/multimediawidgets/camera/videosettings.cpp b/examples/multimediawidgets/camera/videosettings.cpp index aafd4b5f3..29764eb9a 100644 --- a/examples/multimediawidgets/camera/videosettings.cpp +++ b/examples/multimediawidgets/camera/videosettings.cpp @@ -60,6 +60,7 @@ #include <QMediaCaptureSession> #include <QCameraDevice> #include <QCamera> +#include <QAudioInput> VideoSettings::VideoSettings(QMediaEncoder *mediaRecorder, QWidget *parent) : QDialog(parent), @@ -77,8 +78,9 @@ VideoSettings::VideoSettings(QMediaEncoder *mediaRecorder, QWidget *parent) } //sample rate: - ui->audioSampleRateBox->setRange(mediaRecorder->captureSession()->audioInput().minimumSampleRate(), - mediaRecorder->captureSession()->audioInput().maximumSampleRate()); + auto audioDevice = mediaRecorder->captureSession()->audioInput()->device(); + ui->audioSampleRateBox->setRange(audioDevice.minimumSampleRate(), + audioDevice.maximumSampleRate()); //video codecs ui->videoCodecBox->addItem(tr("Default video codec"), QVariant::fromValue(QMediaFormat::VideoCodec::Unspecified)); |