QtAudio Namespace
L'espace de noms QtAudio contient des énumérations utilisées par les classes audio. En savoir plus...
| 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 sur les types
enum QtAudio::Error
| Constante | Valeur | Description |
|---|---|---|
QtAudio::NoError | 0 | Aucune erreur ne s'est produite |
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 sur le périphérique audio. Cela peut se produire, par exemple, lorsqu'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 plus émise par Qt. Utilisez plutôt QtAudio::State::IdleState. Les données audio ne sont pas transmises au périphérique audio à une fréquence suffisante. |
QtAudio::FatalError | 4 | Une erreur irrémédiable s'est produite ; le périphérique audio n'est pas utilisable pour le moment. |
enum QtAudio::State
| Constante | Valeur | Description |
|---|---|---|
QtAudio::ActiveState | 0 | Les données audio sont en cours de traitement ; cet état est activé après l'appel de la fonction start() et tant que des données audio sont disponibles pour être traitées. |
QtAudio::SuspendedState | 1 | Le flux audio est en état de suspension. Cet état est activé après l’appel de la fonction suspend() ou lorsqu’un autre flux prend le contrôle du périphérique audio. Dans ce dernier cas, un appel à la fonction resume restituera le contrôle du périphérique audio à ce flux. Cette opération ne doit généralement être effectuée 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’un problème de mise en mémoire tampon. Pour un « QAudioSink », l’état IdleState signifie qu’il n’y a pas suffisamment de données disponibles à lire depuis l’ QIODevice. Pour un « QAudioSource », l’état « IdleState » est activé lorsque le tampon circulaire qui alimente l’« QIODevice » est plein. Dans ce cas, toutes les nouvelles données audio provenant de l’interface audio sont ignorées jusqu’à ce que l’application effectue une lecture depuis l’« QIODevice », ce qui libère de l’espace dans le tampon. |
enum QtAudio::VolumeScale
Cette énumération définit les différentes échelles de volume audio.
| Constante | Valeur | Description |
|---|---|---|
QtAudio::LinearVolumeScale | 0 | Échelle linéaire. 0.0 (0 %) correspond au silence et 1.0 (100 %) au volume maximal. Toutes les classes d’ Qt Multimedia s dotées d’un volume audio utilisent une échelle linéaire. |
QtAudio::CubicVolumeScale | 1 | Échelle cubique. 0.0 (0 %) correspond au silence et 1.0 (100 %) au volume maximal. |
QtAudio::LogarithmicVolumeScale | 2 | Échelle logarithmique. 0.0 (0 %) correspond au silence et 1.0 (100 %) au volume maximal. Les commandes de volume de l'interface utilisateur doivent généralement utiliser une échelle logarithmique. |
QtAudio::DecibelVolumeScale | 3 | Échelle logarithmique en décibels (dB, amplitude). -200 correspond au silence et 0 au volume maximal. |
Voir également QtAudio::convertVolume().
Documentation de la fonction
float QtAudio::convertVolume(float volume, QtAudio::VolumeScale from, QtAudio::VolumeScale to)
Convertit une volume audio 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 d'Qt Multimedia s dotées d'un volume audio utilisent une échelle linéaire, car le niveau sonore d'un haut-parleur est contrôlé en modulant sa tension sur une échelle linéaire. L’oreille humaine, en revanche, 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 en décibels est de nature logarithmique et est couramment utilisée pour définir les niveaux sonores ; elle est généralement employée pour les commandes de volume de l’interface utilisateur dans les applications audio professionnelles. L’échelle cubique est une approximation peu coûteuse en termes de calcul de l’échelle logarithmique ; elle offre un meilleur contrôle sur les niveaux de volume les plus bas.
L’exemple suivant montre comment convertir la valeur de volume provenant d’un curseur avant de la transmettre à une fonction « QMediaPlayer ». Ainsi, l’augmentation perçue du volume est la même lorsque l’on fait passer le curseur de volume de 20 à 30 que lorsqu’on le fait passer 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.