Auf dieser Seite

QAudioDevice Class

Die Klasse „QAudioDevice“ liefert Informationen zu Audiogeräten und deren Funktionen. Mehr...

Header: #include <QAudioDevice>
CMake: find_package(Qt6 REQUIRED COMPONENTS Multimedia)
target_link_libraries(mytarget PRIVATE Qt6::Multimedia)
qmake: QT += multimedia

Öffentliche Typen

enum Mode { Null, Input, Output }

Eigenschaften

Öffentliche Funktionen

QAudioDevice()
QAudioDevice(const QAudioDevice &other)
QAudioDevice(QAudioDevice &&other)
~QAudioDevice()
QAudioFormat::ChannelConfig channelConfiguration() const
QString description() const
QByteArray id() const
bool isDefault() const
bool isFormatSupported(const QAudioFormat &settings) const
bool isNull() const
int maximumChannelCount() const
int maximumSampleRate() const
int minimumChannelCount() const
int minimumSampleRate() const
QAudioDevice::Mode mode() const
QAudioFormat preferredFormat() const
QList<QAudioFormat::SampleFormat> supportedSampleFormats() const
void swap(QAudioDevice &other)
bool operator!=(const QAudioDevice &other) const
QAudioDevice &operator=(QAudioDevice &&other)
QAudioDevice &operator=(const QAudioDevice &other)
bool operator==(const QAudioDevice &other) const

Ausführliche Beschreibung

QAudioDevice beschreibt ein im System verfügbares Audiogerät, das entweder für die Eingabe oder für die Wiedergabe genutzt werden kann.

Ein `QAudioDevice` wird von Qt verwendet, um Klassen zu erstellen, die mit dem Gerät kommunizieren – wie beispielsweise ` QAudioSource` und ` QAudioSink`. Es wird außerdem verwendet, um das Eingabe- oder Ausgabegerät zu bestimmen, das in einer Aufnahmesitzung oder während der Medienwiedergabe verwendet werden soll.

Die QAudioDevice-Instanz behält ihre Eigenschaften während ihrer gesamten Lebensdauer bei, selbst wenn das entsprechende physische Gerät getrennt oder dessen Einstellungen geändert werden. Um den Überblick über aktualisierte Eigenschaften zu behalten, sollte der Benutzer neue Instanzen von QAudioDevice über ` QMediaDevices ` laden, sobald die entsprechenden Signale ausgelöst werden.

Sie können jedes Gerät auch nach den von ihm unterstützten Formaten abfragen. Ein Format ist in diesem Zusammenhang eine Kombination aus Kanalanzahl, Abtastrate und Abtasttyp. Ein Format wird durch die Klasse ` QAudioFormat ` repräsentiert.

Die vom Gerät für jeden dieser Parameter unterstützten Werte können mit ` minimumChannelCount()`, ` maximumChannelCount()`, ` minimumSampleRate()`, ` maximumSampleRate()` und ` supportedSampleFormats()` abgerufen werden. Die unterstützten Kombinationen hängen von den Fähigkeiten des Audiogeräts ab. Wenn Sie ein bestimmtes Format benötigen, können Sie mit ` isFormatSupported()` prüfen, ob das Gerät dieses unterstützt. Zum Beispiel:

{
    sourceFile.setFileName("/tmp/test.raw");
    sourceFile.open(QIODevice::ReadOnly);

    QAudioFormat format;
    // Format konfigurieren, z. B.
    format.setSampleRate(44100);
    format.setChannelCount(1);
    format.setSampleFormat(QAudioFormat::Int16);

    QAudioDevice info(QMediaDevices::defaultAudioOutput());
    if (!info.isFormatSupported(format)) {
        qWarning() << "Raw audio format not supported by backend, cannot play audio.";
       return;
    }

    audio = new QAudioSink(format, this);
    connect(audio, QAudioSink::stateChanged, this, &AudioInputExample::handleStateChanged);
    audio->start(&sourceFile);
}

Die Liste der verfügbaren Geräte kann über die Klasse „ QMediaDevices “ abgerufen werden.

Beispiel:

const auto devices = QMediaDevices::audioOutputs();
for (const QAudioDevice&device: devices)
    qDebug() << "Device: " << device.description();

In diesem Codebeispiel durchlaufen wir alle Geräte, die Ton ausgeben können, d. h. einen Audiostream in einem unterstützten Format wiedergeben können. Für jedes gefundene Gerät geben wir einfach den deviceName() aus.

Siehe auch QAudioSink, QAudioSource und QAudioFormat.

Dokumentation zu Mitgliedstypen

enum QAudioDevice::Mode

Beschreibt den Betriebsmodus dieses Geräts.

KonstantWertBeschreibung
QAudioDevice::Null0Ein Null-Gerät.
QAudioDevice::Input1Ein Eingabegerät.
QAudioDevice::Output2Ein Ausgabegerät.

Eigenschaftsdokumentation

[read-only] description : const QString

Gibt einen für Menschen lesbaren Namen des Audiogeräts zurück.

Verwenden Sie diese Zeichenfolge, um das Gerät dem Benutzer anzuzeigen.

Zugriffsfunktionen:

QString description() const

[read-only] id : const QByteArray

Gibt eine Kennung für das Audiogerät zurück.

Die Gerätenamen variieren je nach verwendeter Plattform bzw. verwendetem Audio-Plugin.

Sie dienen als eindeutige Kennung für das Audiogerät.

Zugriffsfunktionen:

QByteArray id() const

[read-only] isDefault : const bool

Gibt „true“ zurück, wenn es sich um das Standard-Audiogerät handelt.

Zugriffsfunktionen:

bool isDefault() const

[read-only] mode : const Mode

Gibt zurück, ob es sich bei diesem Gerät um ein Eingabe- oder Ausgabegerät handelt.

Zugriffsfunktionen:

QAudioDevice::Mode mode() const

Dokumentation zu den Member-Funktionen

QAudioDevice::QAudioDevice()

Erstellt ein QAudioDevice-Objekt mit den Standardwerten.

QAudioDevice::QAudioDevice(const QAudioDevice &other)

Erstellt eine Kopie von other.

[constexpr noexcept default] QAudioDevice::QAudioDevice(QAudioDevice &&other)

Konstrukte aus „ other “ verschieben.

[noexcept] QAudioDevice::~QAudioDevice()

Lösche diese Informationen zum Audiogerät.

QAudioFormat::ChannelConfig QAudioDevice::channelConfiguration() const

Gibt die Kanalkonfiguration des Geräts zurück.

bool QAudioDevice::isFormatSupported(const QAudioFormat &settings) const

Gibt „true“ zurück, wenn die übergebenen „ settings “ von dem durch „ QAudioDevice “ beschriebenen Audiogerät unterstützt werden.

bool QAudioDevice::isNull() const

Gibt zurück, ob dieses „ QAudioDevice “-Objekt eine gültige Gerätedefinition enthält.

int QAudioDevice::maximumChannelCount() const

Gibt die maximale Anzahl der unterstützten Kanäle zurück.

Dies ist in der Regel 1 für Mono-Ton oder 2 für Stereo-Ton.

int QAudioDevice::maximumSampleRate() const

Gibt die maximal unterstützte Abtastrate (in Hertz) zurück.

int QAudioDevice::minimumChannelCount() const

Gibt die minimale Anzahl der unterstützten Kanäle zurück.

Dies ist in der Regel 1 für Mono-Ton oder 2 für Stereo-Ton.

int QAudioDevice::minimumSampleRate() const

Gibt die niedrigste unterstützte Abtastrate (in Hertz) zurück.

QAudioFormat QAudioDevice::preferredFormat() const

Gibt die Standard-Einstellungen für das Audioformat dieses Geräts zurück.

Diese Einstellungen werden von der verwendeten Plattform bzw. dem Audio-Plugin bereitgestellt.

Sie hängen außerdem vom verwendeten ` QtAudio::Mode` ab.

Ein typisches Audiosystem würde etwa folgende Einstellungen bereitstellen:

  • Eingabeeinstellungen: 48.000 Hz, Mono, 16 Bit.
  • Ausgabeeinstellungen: 48.000 Hz, Stereo, 16 Bit.

QList<QAudioFormat::SampleFormat> QAudioDevice::supportedSampleFormats() const

Gibt eine Liste der unterstützten Datentypen zurück.

[noexcept] void QAudioDevice::swap(QAudioDevice &other)

Wechselt das Audiogerät mit dem „ other “.

bool QAudioDevice::operator!=(const QAudioDevice &other) const

Gibt „true“ zurück, wenn diese Klasse „ QAudioDevice “ ein anderes Audiogerät darstellt als other

[noexcept] QAudioDevice &QAudioDevice::operator=(QAudioDevice &&other)

Verschiebt „ other “ in dieses „ QAudioDevice “-Objekt.

QAudioDevice &QAudioDevice::operator=(const QAudioDevice &other)

Setzt das Objekt „ QAudioDevice “ so, dass es dem Wert „ other “ entspricht.

bool QAudioDevice::operator==(const QAudioDevice &other) const

Gibt „true“ zurück, wenn diese „ QAudioDevice “-Klasse dasselbe Audiogerät repräsentiert wie „ other “.

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