Auf dieser Seite

QMediaDevices Class

Die Klasse „QMediaDevices“ liefert Informationen zu den verfügbaren Multimedia-Ein- und Ausgabegeräten. Mehr...

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

Eigenschaften

Signale

Statische öffentliche Mitglieder

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

Ausführliche Beschreibung

Die Klasse „QMediaDevices“ liefert Informationen zu den verfügbaren Multimedia-Geräten und den Systemstandardwerten. Sie überwacht die folgenden drei Gruppen:

  • Audio-Eingabegeräte (Mikrofone)
  • Audioausgabegeräte (Lautsprecher, Kopfhörer)
  • Video-Eingabegeräte (Kameras)

QMediaDevices stellt für jede Gerätegruppe eine separate Liste bereit. Wenn festgestellt wird, dass ein neues Gerät an das System angeschlossen oder ein angeschlossenes Gerät vom System getrennt wurde, aktualisiert die Klasse die entsprechende Geräteliste und sendet ein Signal, das über die Änderung informiert.

Mit den Funktionen „ QMediaDevices::audioInputs “ und „ QMediaDevices::audioOutputs “ lassen sich alle Mikrofone und Lautsprecher/Headsets im System auflisten. In diesem Beispiel wird zunächst eine Liste aller angeschlossenen Mikrofone abgerufen und anschließend deren Kennung, Beschreibung sowie die Angabe, ob es sich um das Standardgerät handelt, ausgegeben.

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;
}

Ebenso gibt die Funktion ` QMediaDevices::videoInputs ` eine Liste aller angeschlossenen Kameras zurück. In diesem Beispiel listen wir alle angeschlossenen Kameras auf und geben deren Kennung, Beschreibung sowie die Angabe an, 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 Systemstandardwerte für jede Gerätegruppe. Es benachrichtigt über alle Änderungen, die über die Systemeinstellungen vorgenommen werden. Wählt der Benutzer beispielsweise in den Systemeinstellungen einen neuen Standard-Audioausgang aus, aktualisiert QMediaDevices den Standard-Audioausgang entsprechend und gibt ein Signal aus. Wenn das System keinen Standard für eine Kamera oder einen Audioeingang bereitstellt, wählt QMediaDevices das erste Gerät aus der Liste als Standardgerät aus.

Zwar reicht die Verwendung der Standard-Ein- und -Ausgabegeräte für die Wiedergabe oder Aufnahme von Multimedia-Inhalten oft aus, doch besteht häufig die Notwendigkeit, das zu verwendende Gerät explizit auszuwählen.

Die statischen Methoden von QMediaDevices sind threadsicher und beziehen sich auf ein zugrunde liegendes Singleton-Objekt.

Hinweis: Auf der WebAssembly-Plattform stehen die Gerätelisten aufgrund ihres asynchronen Charakters erst nach den Benachrichtigungen „ audioInputsChanged “, „audioOutputsChanged“ oder „ videoInputsChanged “ zur Verfügung.

Dokumentation zu den Eigenschaften

[read-only] audioInputs : QList<QAudioDevice>

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

Bei diesen Geräten handelt es sich in der Regel um Mikrofone. Die Geräte können entweder integriert sein oder beispielsweise über USB oder Bluetooth angeschlossen werden.

Zugriffsfunktionen:

QList<QAudioDevice> audioInputs()

Benachrichtigungssignal:

void audioInputsChanged()

[read-only] audioOutputs : QList<QAudioDevice>

Gibt eine Liste der auf dem System verfügbaren Audioausgabegeräte zurück.

Bei diesen Geräten handelt es sich in der Regel um Lautsprecher oder Kopfhörer. Die Geräte können entweder fest eingebaut sein oder beispielsweise über USB oder Bluetooth angeschlossen werden.

Zugriffsfunktionen:

QList<QAudioDevice> audioOutputs()

Benachrichtigungssignal:

void audioOutputsChanged()

[read-only] defaultAudioInput : 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()“ ausgelöst.

Zugriffsfunktionen:

QAudioDevice defaultAudioInput()

Notifier-Signal:

[read-only] defaultAudioOutput : 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()“ ausgelöst.

Zugriffsfunktionen:

QAudioDevice defaultAudioOutput()

Notifier-Signal:

[read-only] defaultVideoInput : QCameraDevice

Gibt die Standardkamera des Systems zurück.

Hinweis: Das zurückgegebene Objekt sollte vor der Verwendung mit `isNull()` überprüft werden, für den Fall, dass keine Standardkamera oder gar keine Kameras vorhanden sind.

Das Standardgerät kann sich während der Laufzeit der Anwendung ändern. In diesem Fall wird das Signal „ videoInputsChanged()“ ausgelöst.

Zugriffsfunktionen:

QCameraDevice defaultVideoInput()

Notifier-Signal:

Siehe auch ` videoInputs()`.

[read-only] videoInputs : QList<QCameraDevice>

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

Zugriffsfunktionen:

QList<QCameraDevice> videoInputs()

Benachrichtigungssignal:

void videoInputsChanged()

© 2026 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.