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) |
Typdokumentation
enum QtAudio::Error
| Konstante | Wert | Beschreibung |
|---|---|---|
QtAudio::NoError | 0 | Es sind keine Fehler aufgetreten |
QtAudio::OpenError | 1 | Beim Öffnen des Audiogeräts ist ein Fehler aufgetreten |
QtAudio::IOError | 2 | Beim Lesen/Schreiben des Audiogeräts ist ein Fehler aufgetreten. Dies kann beispielsweise passieren, wenn ein externes Audio-Interface getrennt wird. |
QtAudio::UnderrunError | 3 | Dieser 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::FatalError | 4 | Es ist ein nicht behebbarer Fehler aufgetreten; das Audiogerät ist derzeit nicht nutzbar. |
enum QtAudio::State
| Konstante | Wert | Beschreibung |
|---|---|---|
QtAudio::ActiveState | 0 | Audiodaten werden gerade verarbeitet. Dieser Zustand wird nach dem Aufruf von `start()` gesetzt und bleibt bestehen, solange Audiodaten zur Verarbeitung verfügbar sind. |
QtAudio::SuspendedState | 1 | Der 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::StoppedState | 2 | Das Audiogerät ist geschlossen und verarbeitet keine Audiodaten |
QtAudio::IdleState | 3 | Dieser 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.
| Konstante | Wert | Beschreibung |
|---|---|---|
QtAudio::LinearVolumeScale | 0 | Lineare 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::CubicVolumeScale | 1 | Kubische Skala. „ 0.0 “ (0 %) entspricht Stille und „ 1.0 “ (100 %) entspricht voller Lautstärke. |
QtAudio::LogarithmicVolumeScale | 2 | Logarithmische 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::DecibelVolumeScale | 3 | Logarithmische 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.