QAudioDevice Class

Die Klasse QAudioDevice bietet Informationen über Audiogeräte und deren Funktionalität. Mehr...

Kopfzeile: #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

Detaillierte Beschreibung

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

Ein QAudioDevice wird von Qt verwendet, um Klassen zu erstellen, die mit dem Gerät kommunizieren - wie QAudioSource und QAudioSink. Es wird auch 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 seine Einstellungen geändert werden. Um die aktualisierten Eigenschaften im Auge zu behalten, sollte der Benutzer neue Instanzen von QAudioDevice von QMediaDevices laden, wenn die relevanten Signale ausgelöst werden.

Sie können auch jedes Gerät nach den von ihm unterstützten Formaten abfragen. Ein Format ist in diesem Zusammenhang ein Satz, der aus einer Kanalanzahl, einer Abtastrate und einem Abtasttyp besteht. Ein Format wird durch die Klasse QAudioFormat dargestellt.

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

{ sourceFile.setFileName("/tmp/test.raw"); sourceFile.open(QIODevice::ReadOnly);    QAudioFormat format; // Einrichten des Formats, z.B.format.setSampleRate(8000); format.setChannelCount(1); format.setSampleFormat(QAudioFormat::UInt8);    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 Menge der verfügbaren Geräte kann über die Klasse QMediaDevices abgerufen werden.

Zum Beispiel:

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

In diesem Codebeispiel durchlaufen wir eine Schleife durch alle Geräte, die in der Lage sind, Ton auszugeben, d. h. einen Audiostrom in einem unterstützten Format abzuspielen. Für jedes gefundene Gerät geben wir einfach den Gerätenamen() aus.

Siehe auch QAudioSink, QAudioSource, und QAudioFormat.

Dokumentation der Mitgliedstypen

enum QAudioDevice::Mode

Beschreibt den Modus dieses Geräts.

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

Eigenschaft Dokumentation

[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 vorzustellen.

Zugriffsfunktionen:

QString description() const

[read-only] id : const QByteArray

Gibt einen Bezeichner für das Audiogerät zurück.

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

Sie sind ein eindeutiger Bezeichner für das Audiogerät.

Zugriffsfunktionen:

QByteArray id() const

[read-only] isDefault : const bool

Gibt true zurück, wenn dies das Standard-Audiogerät ist.

Zugriffsfunktionen:

bool isDefault() const

[read-only] mode : const Mode

Gibt zurück, ob dieses Gerät ein Eingabe- oder Ausgabegerät ist.

Zugriffsfunktionen:

QAudioDevice::Mode mode() const

Dokumentation der Mitgliedsfunktionen

QAudioDevice::QAudioDevice()

Konstruiert ein Null-QAudioDevice-Objekt.

QAudioDevice::QAudioDevice(const QAudioDevice &other)

Konstruiert eine Kopie von other.

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

Konstrukte von other verschieben.

[noexcept] QAudioDevice::~QAudioDevice()

Zerstören Sie diese Audiogeräteinformation.

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 angegebenen settings von dem durch diese 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-Sound oder 2 für Stereo-Sound.

int QAudioDevice::maximumSampleRate() const

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

int QAudioDevice::minimumChannelCount() const

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

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

int QAudioDevice::minimumSampleRate() const

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

QAudioFormat QAudioDevice::preferredFormat() const

Gibt die Standard-Audioformateinstellungen für dieses Gerät zurück.

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

Sie sind auch abhängig vom QtAudio::Mode, der verwendet wird.

Ein typisches Audiosystem würde etwas wie folgt bereitstellen:

  • Eingangseinstellungen: 48000Hz mono 16 bit.
  • Ausgangseinstellungen: 48000Hz Stereo 16 Bit.

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

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

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

Tauscht das Audiogerät mit dem other aus.

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

Gibt true zurück, wenn diese QAudioDevice Klasse ein anderes Audiogerät repräsentiert als other

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

Verschiebt other in dieses QAudioDevice Objekt.

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

Setzt das Objekt QAudioDevice auf den Wert other.

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

Gibt true zurück, wenn diese QAudioDevice Klasse das gleiche Audiogerät wie other repräsentiert.

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