Auf dieser Seite

QtAudio Namespace

Der Namespace „QtAudio“ enthält Aufzählungen, die von den Audio-Klassen verwendet werden. Mehr dazu...

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

Typen

enum Error { NoError, OpenError, IOError, UnderrunError, FatalError }
enum State { ActiveState, SuspendedState, StoppedState, IdleState }
enum VolumeScale { LinearVolumeScale, CubicVolumeScale, LogarithmicVolumeScale, DecibelVolumeScale }

Funktionen

float convertVolume(float volume, QtAudio::VolumeScale from, QtAudio::VolumeScale to)

Ausführliche Beschreibung

Typdokumentation

enum QtAudio::Error

KonstanteWertBeschreibung
QtAudio::NoError0Es sind keine Fehler aufgetreten
QtAudio::OpenError1Beim Öffnen des Audiogeräts ist ein Fehler aufgetreten
QtAudio::IOError2Beim Lesen/Schreiben des Audiogeräts ist ein Fehler aufgetreten. Dies kann beispielsweise passieren, wenn ein externes Audio-Interface getrennt wird.
QtAudio::UnderrunError3Dieser Wert wurde in Qt-6.11 als veraltet markiert und wird von Qt nicht mehr ausgegeben. Beobachten Sie stattdessen „ QtAudio::State::IdleState “. Die Audiodaten werden nicht mit ausreichender Geschwindigkeit an das Audiogerät weitergeleitet.
QtAudio::FatalError4Es ist ein nicht behebbarer Fehler aufgetreten; das Audiogerät ist derzeit nicht nutzbar.

enum QtAudio::State

KonstanteWertBeschreibung
QtAudio::ActiveState0Audiodaten werden gerade verarbeitet. Dieser Zustand wird nach dem Aufruf von `start()` gesetzt und bleibt bestehen, solange Audiodaten zur Verarbeitung verfügbar sind.
QtAudio::SuspendedState1Der Audiostream befindet sich in einem angehaltenen Zustand. Dieser Zustand wird nach dem Aufruf von `suspend()` oder dann erreicht, wenn ein anderer Stream die Kontrolle über das Audiogerät übernimmt. Im letzteren Fall gibt ein Aufruf von `resume` die Kontrolle über das Audiogerät wieder an diesen Stream zurück. Dies sollte in der Regel nur auf Benutzeranforderung erfolgen.
QtAudio::StoppedState2Das Audiogerät ist geschlossen und verarbeitet keine Audiodaten
QtAudio::IdleState3Dieser Zustand zeigt an, dass das Audiosystem aufgrund einer Pufferungssituation vorübergehend inaktiv ist. Bei einem „ QAudioSink “ bedeutet „IdleState“, dass vom „ QIODevice “ nicht genügend Daten zum Lesen verfügbar sind. Bei einem „ QAudioSource “ wird der Zustand „IdleState“ erreicht, wenn der Ringpuffer, der den „ QIODevice “ speist, voll ist. In diesem Fall werden alle neuen Audiodaten, die von der Audioschnittstelle eintreffen, verworfen, bis die Anwendung aus dem „ QIODevice “ liest und dadurch Speicherplatz im Puffer freigibt.

enum QtAudio::VolumeScale

Diese Enumeration definiert die verschiedenen Lautstärkeskalen.

KonstanteWertBeschreibung
QtAudio::LinearVolumeScale0Lineare Skala. 0.0 (0 %) entspricht Stille und 1.0 (100 %) entspricht voller Lautstärke. Alle Qt Multimedia -Klassen, die über eine Audio-Lautstärke verfügen, verwenden eine lineare Skala.
QtAudio::CubicVolumeScale1Kubische Skala. „ 0.0 “ (0 %) entspricht Stille und „ 1.0 “ (100 %) entspricht voller Lautstärke.
QtAudio::LogarithmicVolumeScale2Logarithmische Skala. 0.0 (0 %) entspricht Stille und 1.0 (100 %) entspricht voller Lautstärke. Lautstärkeregler in der Benutzeroberfläche sollten in der Regel eine logarithmische Skala verwenden.
QtAudio::DecibelVolumeScale3Logarithmische Dezibel-Skala (dB, Amplitude). -200 entspricht Stille und 0 entspricht voller Lautstärke.

Siehe auch QtAudio::convertVolume().

Funktionsdokumentation

float QtAudio::convertVolume(float volume, QtAudio::VolumeScale from, QtAudio::VolumeScale to)

Konvertiert eine Audio volume from eine Lautstärkeskala to eine andere und gibt das Ergebnis zurück.

Je nach Kontext werden unterschiedliche Skalen zur Darstellung der Lautstärke verwendet. Alle „ Qt Multimedia “-Klassen, die über eine Lautstärke verfügen, verwenden eine lineare Skala, da die Lautstärke eines Lautsprechers durch die Modulation seiner Spannung auf einer linearen Skala gesteuert wird. Das menschliche Ohr hingegen nimmt die Lautstärke logarithmisch wahr. Die Verwendung einer logarithmischen Skala für Lautstärkeregler ist daher in den meisten Anwendungen sinnvoll. Die Dezibel-Skala ist von Natur aus logarithmisch und wird üblicherweise zur Definition von Schallpegeln verwendet; sie kommt in der Regel für UI-Lautstärkeregler in professionellen Audioanwendungen zum Einsatz. Die kubische Skala ist eine rechnerisch einfache Annäherung an eine logarithmische Skala und bietet mehr Kontrolle über niedrigere Lautstärkepegel.

Das folgende Beispiel zeigt, wie der Lautstärkewert aus einem Schieberegler umgerechnet wird, bevor er an einen „ QMediaPlayer “ übergeben wird. Dadurch ist die wahrgenommene Lautstärkesteigerung beim Erhöhen des Lautstärkereglers von 20 auf 30 dieselbe wie bei einer Erhöhung von 50 auf 60:

void applyVolume(int volumeSliderValue)
{
    // volumeSliderValue is in the range [0..100]

    qreal linearVolume = QtAudio::convertVolume(volumeSliderValue / qreal(100.0),
                                                QtAudio::LogarithmicVolumeScale,
                                                QtAudio::LinearVolumeScale);

    player.setVolume(qRound(linearVolume * 100));
}

Siehe auch „ VolumeScale“ , „ QAudioSink::setVolume()“, „ QAudioSource::setVolume()“ und „ QSoundEffect::setVolume()“.

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