Пространство имён QAudio
Пространство имён QAudio содержит перечисления, используемые классами аудио. Подробнее...
| Заголовок: | #include <QAudio> |
| qmake: | QT += multimedia |
Типы
| Перечисление | Error { NoError, OpenError, IOError, UnderrunError, FatalError } |
| Перечисление | Mode { AudioOutput, AudioInput } |
| Перечисление | Role { UnknownRole, MusicRole, VideoRole, VoiceCommunicationRole, ..., CustomRole } |
| Перечисление | State { ActiveState, SuspendedState, StoppedState, IdleState, InterruptedState } |
| Перечисление | VolumeScale { LinearVolumeScale, CubicVolumeScale, LogarithmicVolumeScale, DecibelVolumeScale } |
Функции
| qreal | convertVolume(qreal 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::Mode
| Константа | Значение | Описание |
|---|---|---|
QAudio::AudioOutput |
1 |
устройство вывода аудио |
QAudio::AudioInput |
0 |
устройство ввода аудио |
перечисление QAudio::Role
Это перечисление описывает роль аудиопотока.
| Константа | Значение | Описание |
|---|---|---|
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().
перечисление QAudio::State
| Константа | Значение | Описание |
|---|---|---|
QAudio::ActiveState |
0 |
Обработка данных аудио, это состояние устанавливается после вызова start() и пока доступны данные аудио для обработки. |
QAudio::SuspendedState |
1 |
Аудиопоток приостановлен. Вступает в силу после вызова suspend() или когда другой поток получает контроль над устройством аудио. В последнем случае, вызов resume вернёт управление устройством аудио этому потоку. Это обычно должно выполняться только по запросу пользователя. |
QAudio::StoppedState |
2 |
Устройство аудио закрыто и не обрабатывает данные аудио. |
QAudio::IdleState |
3 |
У QIODevice, переданного в качестве параметра, нет данных, и буфер системы аудио пуст, это состояние устанавливается после вызова start() и пока нет данных аудио для обработки. |
QAudio::InterruptedState |
4 |
Этот поток приостановлен, потому что другой поток с более высоким приоритетом в настоящее время контролирует устройство аудио. Возобновить воспроизведение нельзя, пока поток с более высоким приоритетом не передаст управление устройством аудио. |
перечисление 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.13/qaudio.html