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
- description : const QString
- id : const QByteArray
- isDefault : const bool
- mode : const Mode
Ö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.
| Konstant | Wert | Beschreibung |
|---|---|---|
QAudioDevice::Null | 0 | Ein Null-Gerät. |
QAudioDevice::Input | 1 | Ein Eingabegerät. |
QAudioDevice::Output | 2 | Ein 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.