Пространство имён QAudio
Пространство имён QAudio содержит перечисления, используемые классами аудио. Подробнее...
| Заголовок: | #include <QAudio> |
| qmake: | QT += multimedia |
Типы
| перечисление | Ошибка { БезОшибок, ОшибкаОткрытия, ОшибкаВводаВывода, ОшибкаНедогрузки, КритическаяОшибка } |
| перечисление | Режим { ВыводАудио, ВводАудио } |
| перечисление | Роль { НеизвестнаяРоль, Музыка, Видео, ГолосоваяСвязь, СигналТревоги, …, ПользовательскаяРоль } |
| перечисление | Состояние { АктивноеСостояние, ПриостановленноеСостояние, ОстановленноеСостояние, СостояниеПростоя, ПрерванноеСостояние } |
| перечисление | МасштабГромкости { ЛинейныйМасштабГромкости, КубическийМасштабГромкости, ЛогарифмическийМасштабГромкости, МасштабГромкостиВДецибелах } |
Функции
| qreal | преобразоватьГромкость(qreal громкость, QAudio::VolumeScale из, QAudio::VolumeScale в) |
Подробное описание
Документация по типам
перечисление 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().
END_OF_DOCUMENT_MARKER
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/qaudio.html