Пространство имён QAudio
Пространство имён QAudio содержит перечисления, используемые классами аудио. Подробнее...
| Заголовок: | #include <QAudio> |
| CMake: | find_package(Qt6 COMPONENTS Multimedia REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Multimedia) |
| qmake: | QT += multimedia |
Типы
| Перечисление | Error { НетОшибки, ОшибкаОткрытия, ОшибкаВводаВывода, ОшибкаНехваткиДанных, КритическаяОшибка } |
| Перечисление | State { АктивноеСостояние, ПриостановленноеСостояние, ОстановленноеСостояние, СостояниеОжидания } |
| Перечисление | VolumeScale { ЛинейнаяШкалаГромкости, КубическаяШкалаГромкости, ЛогарифмическаяШкалаГромкости, ШкалаГромкостиДецибел } |
Функции
| float | convertVolume(float volume, QAudio::VolumeScale from, QAudio::VolumeScale to) |
Подробное описание
Документация по типам
Перечисление QAudio::Error
| Постоянная | Значение | Описание |
|---|---|---|
QAudio::NoError |
0 |
Ошибок не произошло |
QAudio::OpenError |
1 |
Произошла ошибка при открытии аудиоустройства |
QAudio::IOError |
2 |
Произошла ошибка во время чтения/записи аудиоустройства |
QAudio::UnderrunError |
3 |
Аудиоданные не подаются на аудиоустройство достаточно быстро |
QAudio::FatalError |
4 |
Произошла неисправимая ошибка, аудиоустройство в данный момент непригодно для использования. |
Перечисление QAudio::State
| Постоянная | Значение | Описание |
|---|---|---|
QAudio::ActiveState |
0 |
Аудиоданные обрабатываются; это состояние устанавливается после вызова start() и пока доступны аудиоданные для обработки. |
QAudio::SuspendedState |
1 |
Поток аудио приостановлен. Устанавливается после вызова suspend() или когда другой поток получает контроль над аудиоустройством. В последнем случае вызов resume вернёт контроль над аудиоустройством этому потоку. Это обычно делается только по запросу пользователя. |
QAudio::StoppedState |
2 |
Аудиоустройство закрыто и не обрабатывает какие-либо аудиоданные. |
QAudio::IdleState |
3 |
Переданный QIODevice не содержит данных, а буфер аудиосистемы пуст; это состояние устанавливается после вызова start() и пока аудиоданные недоступны для обработки. |
Перечисление QAudio::VolumeScale
Это перечисление определяет различные шкалы громкости аудио.
| Постоянная | Значение | Описание |
|---|---|---|
QAudio::LinearVolumeScale |
0 |
Линейная шкала. 0.0 (0%) — тишина, 1.0 (100%) — полная громкость. Все классы Qt Multimedia, имеющие аудиогромкость, используют линейную шкалу. |
QAudio::CubicVolumeScale |
1 |
Кубическая шкала. 0.0 (0%) — тишина, 1.0 (100%) — полная громкость. |
QAudio::LogarithmicVolumeScale |
2 |
Логарифмическая шкала. 0.0 (0%) — тишина, 1.0 (100%) — полная громкость. Управлять громкостью в пользовательском интерфейсе обычно следует с использованием логарифмической шкалы. |
QAudio::DecibelVolumeScale |
3 |
Логарифмическая шкала децибел (дБ, амплитуда). -200 — тишина, 0 — полная громкость. |
См. также QAudio::convertVolume().
Документация по функциям
float QAudio::convertVolume(float volume, QAudio::VolumeScale from, QAudio::VolumeScale to)
Преобразует аудиогромкость из одной шкалы громкости в другую и возвращает результат.
В зависимости от контекста для представления аудиогромкости используются разные шкалы. Все классы Qt Multimedia, имеющие аудиогромкость, используют линейную шкалу; причина в том, что громкость динамика регулируется модуляцией напряжения на линейной шкале. Человеческое ухо, с другой стороны, воспринимает громкость логарифмически. Поэтому в большинстве приложений целесообразно использовать логарифмическую шкалу для управления громкостью. Шкала децибел по своей природе является логарифмической и обычно используется для определения уровней звука; она обычно используется для управления громкостью в пользовательском интерфейсе профессиональных аудиоприложений. Кубическая шкала — вычислительно недорогое приближение логарифмической шкалы; она обеспечивает больший контроль над низкими уровнями громкости.
Следующий пример показывает, как преобразовать значение громкости с ползунка управления перед передачей его в QMediaPlayer. В результате воспринимаемое увеличение громкости при увеличении ползунка громкости с 20 до 30 такое же, как и при увеличении с 50 до 60:
void applyVolume(int volumeSliderValue)
{
// volumeSliderValue is in the range [0..100]
qreal linearVolume = QAudio::convertVolume(volumeSliderValue / qreal(100.0),
QAudio::LogarithmicVolumeScale,
QAudio::LinearVolumeScale);
player.setVolume(qRound(linearVolume * 100));
} См. также VolumeScale, QAudioSink::setVolume(), QAudioSource::setVolume() и QSoundEffect::setVolume().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qaudio.html