QtAudio Namespace
El espacio de nombres QtAudio contiene enums utilizados por las clases de audio. Más...
| Cabecera: | #include <QtAudio> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Multimedia)target_link_libraries(mytarget PRIVATE Qt6::Multimedia) |
| qmake: | QT += multimedia |
Tipos
| enum | Error { NoError, OpenError, IOError, UnderrunError, FatalError } |
| enum | State { ActiveState, SuspendedState, StoppedState, IdleState } |
| enum | VolumeScale { LinearVolumeScale, CubicVolumeScale, LogarithmicVolumeScale, DecibelVolumeScale } |
Funciones
| float | convertVolume(float volume, QtAudio::VolumeScale from, QtAudio::VolumeScale to) |
Documentación de tipos
enum QtAudio::Error
| Constante | Valor | Descripción |
|---|---|---|
QtAudio::NoError | 0 | No se ha producido ningún error |
QtAudio::OpenError | 1 | Se ha producido un error al abrir el dispositivo de audio |
QtAudio::IOError | 2 | Se ha producido un error durante la lectura/escritura del dispositivo de audio. Esto puede ocurrir cuando, por ejemplo, se desconecta una interfaz de audio externa. |
QtAudio::UnderrunError | 3 | Este valor ha sido obsoleto en Qt-6.11 y no se emite desde Qt. Observe QtAudio::State::IdleState en su lugar.. Los datos de audio no están siendo alimentados al dispositivo de audio a una velocidad suficientemente rápida. |
QtAudio::FatalError | 4 | Se ha producido un error no recuperable, el dispositivo de audio no es utilizable en este momento. |
enum QtAudio::State
| Constante | Valor | Descripción |
|---|---|---|
QtAudio::ActiveState | 0 | Los datos de audio están siendo procesados, este estado se establece después de llamar a start() y mientras los datos de audio estén disponibles para ser procesados. |
QtAudio::SuspendedState | 1 | El flujo de audio está en un estado suspendido. Se entra después de llamar a suspend() o cuando otro flujo toma el control del dispositivo de audio. En este último caso, una llamada a resume devolverá el control del dispositivo de audio a este flujo. Por lo general, esto sólo debería hacerse a petición del usuario. |
QtAudio::StoppedState | 2 | El dispositivo de audio está cerrado y no está procesando ningún dato de audio |
QtAudio::IdleState | 3 | Este estado indica que el sistema de audio está temporalmente inactivo debido a una condición de almacenamiento en búfer. Para QAudioSink, IdleState significa que no hay suficientes datos disponibles en QIODevice para leer. Para un QAudioSource, se entra en IdleState cuando el búfer en anillo que alimenta el QIODevice se llena. En ese caso, cualquier nuevo dato de audio que llegue de la interfaz de audio es descartado hasta que la aplicación lea del QIODevice, lo que libera espacio en el buffer. |
enum QtAudio::VolumeScale
Este enum define las diferentes escalas de volumen de audio.
| Constante | Valor | Descripción |
|---|---|---|
QtAudio::LinearVolumeScale | 0 | Escala lineal. 0.0 (0%) es silencio y 1.0 (100%) es volumen completo. Todas las clases de Qt Multimedia que tienen un volumen de audio utilizan una escala lineal. |
QtAudio::CubicVolumeScale | 1 | Escala cúbica. 0.0 (0%) es silencio y 1.0 (100%) es volumen máximo. |
QtAudio::LogarithmicVolumeScale | 2 | Escala logarítmica. 0.0 (0%) es silencio y 1.0 (100%) es volumen máximo. Los controles de volumen de la interfaz de usuario suelen utilizar una escala logarítmica. |
QtAudio::DecibelVolumeScale | 3 | Escala logarítmica de decibelios (dB, amplitud). -200 es silencio y 0 es volumen máximo. |
Véase también QtAudio::convertVolume().
Documentación de funciones
float QtAudio::convertVolume(float volume, QtAudio::VolumeScale from, QtAudio::VolumeScale to)
Convierte un audio volume from una escala de volumen to otra, y devuelve el resultado.
Dependiendo del contexto, se utilizan diferentes escalas para representar el volumen del audio. Todas las clases de Qt Multimedia que tienen un volumen de audio utilizan una escala lineal, la razón es que la sonoridad de un altavoz se controla modulando su voltaje en una escala lineal. El oído humano, en cambio, percibe el volumen de forma logarítmica. Por lo tanto, utilizar una escala logarítmica para los controles de volumen es adecuado en la mayoría de las aplicaciones. La escala de decibelios es logarítmica por naturaleza y se utiliza habitualmente para definir los niveles sonoros; suele emplearse para los controles de volumen de la interfaz de usuario en aplicaciones de audio profesionales. La escala cúbica es una aproximación computacionalmente barata de una escala logarítmica, proporciona más control sobre los niveles de volumen más bajos.
El siguiente ejemplo muestra cómo convertir el valor del volumen de un control deslizante antes de pasarlo a QMediaPlayer. Como resultado, el aumento percibido del volumen es el mismo cuando se aumenta el control deslizante del volumen de 20 a 30 que cuando se aumenta de 50 a 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)); }
Véase también VolumeScale, QAudioSink::setVolume(), QAudioSource::setVolume(), y 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.