Пространство имён QAudio
Пространство имён QAudio содержит перечисления, используемые классами аудио.
Подробнее...| Заголовок: | #include <QAudio> |
| qmake: | QT += multimedia |
Типы
| Перечисление | Ошибка { БезОшибки, ОшибкаОткрытия, ОшибкаВводаВывода, ОшибкаНехваткиДанных, КритическаяОшибка } |
| Перечисление | Режим { ВыводАудио, ВводАудио } |
| Перечисление | Роль { НеизвестнаяРоль, РольМузыка, РольВидео, РольГолосовойСвязи, ..., ПользовательскаяРоль } |
| Перечисление | Состояние { АктивноеСостояние, ПриостановленноеСостояние, ОстановленноеСостояние, СостояниеБездействия, ПрерванноеСостояние } |
| Перечисление | МасштабГромкости { ЛинейныйМасштабГромкости, КубическийМасштабГромкости, ЛогарифмическийМасштабГромкости, МасштабГромкостиВДецибелах } |
Функции
| qreal | преобразоватьГромкость(qreal громкость, QAudio::МасштабГромкости из, QAudio::МасштабГромкости в) |
Подробное описание
Пространство имён QAudio содержит перечисления, используемые классами аудио.
Документация по типам
Перечисление QAudio::Ошибка
| Постоянная | Значение | Описание |
|---|---|---|
QAudio::NoError |
0 |
Ошибок не произошло |
QAudio::OpenError |
1 |
Ошибка при открытии аудиоустройства |
QAudio::IOError |
2 |
Ошибка во время чтения/записи аудиоустройства |
QAudio::UnderrunError |
3 |
Аудиоданные не подаются на аудиоустройство с достаточной скоростью |
QAudio::FatalError |
4 |
Произошла неисправимая ошибка, аудиоустройство в настоящее время не может быть использовано. |
Перечисление QAudio::Режим
| Постоянная | Значение | Описание |
|---|---|---|
QAudio::AudioOutput |
1 |
Аудиоустройство вывода |
QAudio::AudioInput |
0 |
Аудиоустройство ввода |
Перечисление QAudio::Роль
Это перечисление описывает роль аудиопотока.
| Постоянная | Значение | Описание |
|---|---|---|
QAudio::UnknownRole |
0 |
Роль неизвестна или не определена |
QAudio::MusicRole |
1 |
Музыка |
QAudio::VideoRole |
2 |
Звуковая дорожка из фильма или видео |
QAudio::VoiceCommunicationRole |
3 |
Голосовая связь, например, телефонная |
QAudio::AlarmRole |
4 |
Сигнал тревоги |
QAudio::NotificationRole |
5 |
Уведомление, например, о получении электронного письма или запроса в чате |
QAudio::RingtoneRole |
6 |
Мелодия звонка |
QAudio::AccessibilityRole |
7 |
Для обеспечения доступности, например, со считывателем экрана |
QAudio::SonificationRole |
8 |
Звуковое сопровождение пользовательского интерфейса |
QAudio::GameRole |
9 |
Звуки игр |
QAudio::CustomRole |
10 |
Роль задаётся с помощью QMediaPlayer::customAudioRole() |
Этот перечисление был введён или изменён в Qt 5.6.
См. также QMediaPlayer::setAudioRole().
enum QAudio::State
| Постоянная | Значение | Описание |
|---|---|---|
QAudio::ActiveState |
0 |
Данные аудио обрабатываются; это состояние устанавливается после вызова start() и пока доступны данные аудио для обработки. |
QAudio::SuspendedState |
1 |
Поток аудио приостановлен. Вступает в силу после вызова suspend() или когда другой поток получает контроль над аудиоустройством. В последнем случае вызов resume вернёт контроль над аудиоустройством этому потоку. Обычно это должно выполняться только по запросу пользователя. |
QAudio::StoppedState |
2 |
Аудиоустройство закрыто и не обрабатывает аудиоданные. |
QAudio::IdleState |
3 |
Переданный QIODevice не содержит данных, и буфер аудиосистемы пуст; это состояние устанавливается после вызова start() и пока нет доступных для обработки данных аудио. |
QAudio::InterruptedState |
4 |
Поток приостановлен, поскольку другой поток с более высоким приоритетом в настоящее время контролирует аудиоустройство. Воспроизведение не может возобновить работу, пока поток с более высоким приоритетом не передаст контроль над аудиоустройством. |
enum 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 — это полная громкость. |
Это перечисление было введено или изменено в Qt 5.8.
См. также QAudio::convertVolume().
Документация функций
qreal QAudio::convertVolume(qreal volume, QAudio::VolumeScale from, QAudio::VolumeScale to)
Преобразует значение громкости volume из шкалы from в другую шкалу 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));
} Эта функция была введена в Qt 5.8.
См. также VolumeScale, QMediaPlayer::setVolume(), QAudioOutput::setVolume(), QAudioInput::setVolume(), QSoundEffect::setVolume(), и QMediaRecorder::setVolume().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.12/qaudio.html