QtAudio Namespace
L'espace de noms QtAudio contient des enums utilisés par les classes audio. Plus d'informations...
| En-tête : | #include <QtAudio> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Multimedia)target_link_libraries(mytarget PRIVATE Qt6::Multimedia) |
| qmake : | QT += multimedia |
Types
| enum | Error { NoError, OpenError, IOError, UnderrunError, FatalError } |
| enum | State { ActiveState, SuspendedState, StoppedState, IdleState } |
| enum | VolumeScale { LinearVolumeScale, CubicVolumeScale, LogarithmicVolumeScale, DecibelVolumeScale } |
Fonctions
| float | convertVolume(float volume, QtAudio::VolumeScale from, QtAudio::VolumeScale to) |
Documentation des types
enum QtAudio::Error
| Constante | Valeur | Description de l'erreur |
|---|---|---|
QtAudio::NoError | 0 | Aucune erreur n'est survenue |
QtAudio::OpenError | 1 | Une erreur s'est produite lors de l'ouverture du périphérique audio |
QtAudio::IOError | 2 | Une erreur s'est produite lors de la lecture/écriture du périphérique audio. Cela peut se produire lorsque, par exemple, une interface audio externe est déconnectée. |
QtAudio::UnderrunError | 3 | Cette valeur a été dépréciée dans Qt-6.11 et n'est pas émise par Qt. Observez QtAudio::State::IdleState au lieu de... Les données audio ne sont pas transmises au périphérique audio à un rythme suffisamment rapide. |
QtAudio::FatalError | 4 | Une erreur irrécupérable s'est produite, le périphérique audio n'est pas utilisable pour le moment. |
enum QtAudio::State
| Constante | Valeur | Description de l'état |
|---|---|---|
QtAudio::ActiveState | 0 | Les données audio sont en cours de traitement. Cet état est défini après l'appel de start() et tant que les données audio sont disponibles pour être traitées. |
QtAudio::SuspendedState | 1 | Le flux audio est dans un état suspendu. Entré après l'appel de suspend() ou lorsqu'un autre flux prend le contrôle du périphérique audio. Dans ce dernier cas, un appel à resume redonnera le contrôle du périphérique audio à ce flux. En général, cela ne doit se faire qu'à la demande de l'utilisateur. |
QtAudio::StoppedState | 2 | Le périphérique audio est fermé et ne traite aucune donnée audio |
QtAudio::IdleState | 3 | Cet état indique que le système audio est temporairement inactif en raison d'une condition de mise en mémoire tampon. Pour un QAudioSink, IdleState signifie qu'il n'y a pas assez de données disponibles sur le QIODevice pour les lire. Pour un QAudioSource, l'état d'inactivité est activé lorsque la mémoire tampon circulaire qui alimente le QIODevice est pleine. Dans ce cas, toute nouvelle donnée audio arrivant de l'interface audio est rejetée jusqu'à ce que l'application lise sur QIODevice, ce qui libère de l'espace dans la mémoire tampon. |
enum QtAudio::VolumeScale
Cette énumération définit les différentes échelles de volume audio.
| Constante | Valeur | Description de l'échelle |
|---|---|---|
QtAudio::LinearVolumeScale | 0 | Échelle linéaire. 0.0 (0 %) correspond au silence et 1.0 (100 %) correspond au volume maximum. Toutes les classes Qt Multimedia qui ont un volume audio utilisent une échelle linéaire. |
QtAudio::CubicVolumeScale | 1 | Échelle cubique. 0.0 (0 %) correspond au silence et 1.0 (100 %) correspond au volume maximum. |
QtAudio::LogarithmicVolumeScale | 2 | Échelle logarithmique. 0.0 (0 %) correspond au silence et 1.0 (100 %) correspond au volume maximum. Les commandes de volume des interfaces utilisateur doivent généralement utiliser une échelle logarithmique. |
QtAudio::DecibelVolumeScale | 3 | Échelle logarithmique des décibels (dB, amplitude). -200 correspond au silence et 0 au volume maximum. |
Voir aussi QtAudio::convertVolume().
Documentation des fonctions
float QtAudio::convertVolume(float volume, QtAudio::VolumeScale from, QtAudio::VolumeScale to)
Convertit un fichier audio volume from une échelle de volume to une autre, et renvoie le résultat.
Selon le contexte, différentes échelles sont utilisées pour représenter le volume audio. Toutes les classes Qt Multimedia qui ont un volume audio utilisent une échelle linéaire, car l'intensité sonore d'un haut-parleur est contrôlée en modulant sa tension sur une échelle linéaire. L'oreille humaine, quant à elle, perçoit l'intensité sonore de manière logarithmique. L'utilisation d'une échelle logarithmique pour les commandes de volume est donc appropriée dans la plupart des applications. L'échelle des décibels est logarithmique par nature et est couramment utilisée pour définir les niveaux sonores. Elle est généralement utilisée pour les commandes de volume de l'interface utilisateur dans les applications audio professionnelles. L'échelle cubique est une approximation peu coûteuse d'une échelle logarithmique et permet de mieux contrôler les niveaux de volume inférieurs.
L'exemple suivant montre comment convertir la valeur du volume d'un curseur avant de la transmettre à QMediaPlayer. Par conséquent, l'augmentation perçue du volume est la même lorsque l'on augmente le curseur de 20 à 30 que lorsqu'on l'augmente de 50 à 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)); }
Voir également VolumeScale, QAudioSink::setVolume(), QAudioSource::setVolume() et 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.