QMediaDevices Class

Die Klasse QMediaDevices liefert Informationen über verfügbare Multimedia-Eingabe- und Ausgabegeräte. Mehr...

Kopfzeile: #include <QMediaDevices>
CMake: find_package(Qt6 REQUIRED COMPONENTS Multimedia)
target_link_libraries(mytarget PRIVATE Qt6::Multimedia)
qmake: QT += multimedia
In QML: MediaDevices
Vererbt: QObject

Eigenschaften

Signale

Statische öffentliche Mitglieder

QList<QAudioDevice> audioInputs()
QList<QAudioDevice> audioOutputs()
QAudioDevice defaultAudioInput()
QAudioDevice defaultAudioOutput()
QCameraDevice defaultVideoInput()
QList<QCameraDevice> videoInputs()

Detaillierte Beschreibung

Die Klasse QMediaDevices liefert Informationen über die verfügbaren Multimedia-Geräte und die Systemvorgaben. Sie überwacht die folgenden drei Gruppen:

  • Audio-Eingabegeräte (Mikrofone)
  • Audio-Ausgabegeräte (Lautsprecher, Headsets)
  • Video-Eingabegeräte (Kameras)

QMediaDevices stellt für jede Gerätegruppe eine eigene Liste bereit. Wenn QMediaDevices feststellt, dass ein neues Gerät an das System angeschlossen oder ein angeschlossenes Gerät vom System getrennt wurde, aktualisiert es die entsprechende Geräteliste und gibt ein Signal aus, das über die Änderung informiert.

Die Funktionen QMediaDevices::audioInputs und QMediaDevices::audioOutputs können verwendet werden, um alle Mikrofone und Lautsprecher/Headsets im System aufzulisten. Dieses Beispiel ruft zunächst eine Liste aller angeschlossenen Mikrofone ab und gibt dann deren Kennung und Beschreibung aus sowie die Angabe, ob es sich um das Standardgerät handelt oder nicht.

const QList<QAudioDevice> audioDevices = QMediaDevices::audioInputs();
for (const QAudioDevice &device : audioDevices)
{
    out << "ID: " << device.id() << Qt::endl;
    out << "Description: " << device.description() << Qt::endl;
    out << "Is default: " << (device.isDefault() ? "Yes" : "No") << Qt::endl;
}

In ähnlicher Weise gibt QMediaDevices::videoInputs eine Liste aller angeschlossenen Kameras aus. In diesem Beispiel werden alle angeschlossenen Kameras mit ihrer Kennung und Beschreibung aufgelistet, und es wird angegeben, ob es sich um die Standardkamera handelt oder nicht.

const QList<QCameraDevice> videoDevices = QMediaDevices::videoInputs();
for (const QCameraDevice &device : videoDevices)
{
    out << "ID: " << device.id() << Qt::endl;
    out << "Description: " << device.description() << Qt::endl;
    out << "Is default: " << (device.isDefault() ? "Yes" : "No") << Qt::endl;
}

QMediaDevices überwacht die Systemvorgaben für jede Gerätegruppe. Es benachrichtigt über alle Änderungen, die über die Systemeinstellungen vorgenommen werden. Wenn der Benutzer beispielsweise in den Systemeinstellungen einen neuen Standard-Audioausgang auswählt, aktualisiert QMediaDevices den Standard-Audioausgang entsprechend und gibt ein Signal aus. Wenn das System keinen Standard für eine Kamera oder einen Audioeingang vorsieht, wählt QMediaDevices das erste Gerät aus der Liste als Standardgerät aus.

Obwohl die Verwendung der Standard-Eingabe- und -Ausgabegeräte für die Wiedergabe oder Aufzeichnung von Multimedia-Inhalten oft ausreicht, besteht oft die Notwendigkeit, das zu verwendende Gerät explizit auszuwählen.

QMediaDevices ist ein Singleton-Objekt und alle Getter sind thread-sicher.

Dokumentation der Eigenschaften

[read-only] audioInputs : const QList<QAudioDevice>

Gibt eine Liste der verfügbaren Audio-Eingabegeräte auf dem System zurück.

Diese Geräte sind in der Regel Mikrofone. Die Geräte können entweder eingebaut oder z. B. über USB oder Bluetooth angeschlossen sein.

Zugriffsfunktionen:

QList<QAudioDevice> audioInputs()

Melder-Signal:

void audioInputsChanged()

[read-only] audioOutputs : const QList<QAudioDevice>

Gibt eine Liste der verfügbaren Audio-Ausgabegeräte auf dem System zurück.

Diese Geräte sind in der Regel Lautsprecher oder Kopfhörer. Die Geräte können entweder eingebaut oder z. B. über USB oder Bluetooth angeschlossen sein.

Zugriffsfunktionen:

QList<QAudioDevice> audioOutputs()

Benachrichtigungssignal:

void audioOutputsChanged()

[read-only] defaultAudioInput : const QAudioDevice

Gibt das Standard-Audioeingabegerät zurück.

Das Standardgerät kann sich während der Laufzeit der Anwendung ändern. In diesem Fall wird das Signal audioInputsChanged() ausgegeben.

Zugriffsfunktionen:

QAudioDevice defaultAudioInput()

Benachrichtigungssignal:

[read-only] defaultAudioOutput : const QAudioDevice

Gibt das Standard-Audioausgabegerät zurück.

Das Standardgerät kann sich während der Laufzeit der Anwendung ändern. In diesem Fall wird das Signal audioOutputsChanged() ausgegeben.

Zugriffsfunktionen:

QAudioDevice defaultAudioOutput()

Benachrichtigungssignal:

[read-only] defaultVideoInput : const QCameraDevice

Gibt die Standardkamera des Systems zurück.

Hinweis: Das zurückgegebene Objekt sollte mit isNull() überprüft werden, bevor es verwendet wird, falls keine Standardkamera oder überhaupt keine Kameras vorhanden sind.

Das Standardgerät kann sich während der Laufzeit der Anwendung ändern. In diesem Fall wird das Signal videoInputsChanged() ausgegeben.

Zugriffsfunktionen:

QCameraDevice defaultVideoInput()

Notifier-Signal:

Siehe auch videoInputs().

[read-only] videoInputs : const QList<QCameraDevice>

Gibt eine Liste der im System verfügbaren Kameras zurück.

Zugriffsfunktionen:

QList<QCameraDevice> videoInputs()

Benachrichtigungssignal:

void videoInputsChanged()

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.