Пространство имён QAudio
Пространство имён QAudio содержит перечисления, используемые классами аудио.
Подробнее...
| Заголовок: | #include <QAudio> |
| qmake: | QT += multimedia |
Типы
| Перечисление | Error { НетОшибки, ОшибкаОткрытия, ОшибкаВводаВывода, ОшибкаНедополученияДанных, КритическаяОшибка } |
| Перечисление | Mode { ВыводАудио, ВводАудио } |
| Перечисление | Role { НеизвестнаяРоль, РольМузыка, РольВидео, РольГолосовойКоммуникации, ..., РольИгра } |
| Перечисление | State { АктивноеСостояние, ПриостановленноеСостояние, ОстановленноеСостояние, СостояниеОжидания } |
| Перечисление | VolumeScale { ЛинейнаяШкалаГромкости, КубическаяШкалаГромкости, ЛогарифмическаяШкалаГромкости, ШкалаГромкостиДецибелы } |
Функции
| qreal | convertVolume(qreal volume, VolumeScale from, VolumeScale to) |
Подробное описание
Пространство имён QAudio содержит перечисления, используемые классами аудио.
Документация по типам
enum QAudio::Error
| Константа | Значение | Описание |
|---|---|---|
QAudio::NoError |
0 |
Ошибки не произошли |
QAudio::OpenError |
1 |
Произошла ошибка при открытии аудиоустройства |
QAudio::IOError |
2 |
Произошла ошибка во время чтения/записи аудиоустройства |
QAudio::UnderrunError |
3 |
Данные аудио не поступают на аудиоустройство с достаточной скоростью |
QAudio::FatalError |
4 |
Произошла невосстанавливаемая ошибка, аудиоустройство в данный момент не может быть использовано. |
enum QAudio::Mode
| Константа | Значение | Описание |
|---|---|---|
QAudio::AudioOutput |
1 |
аудиоустройство вывода |
QAudio::AudioInput |
0 |
аудиоустройство ввода |
enum 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 |
Аудио для игр |
Это перечисление было введено или изменено в Qt 5.6.
См. также QMediaPlayer::setAudioRole().
enum QAudio::State
| Константа | Значение | Описание |
|---|---|---|
QAudio::ActiveState |
0 |
Данные аудио обрабатываются, это состояние устанавливается после вызова start() и пока данные аудио доступны для обработки. |
QAudio::SuspendedState |
1 |
Аудиоустройство приостановлено, это состояние устанавливается только после вызова suspend(). |
QAudio::StoppedState |
2 |
Аудиоустройство закрыто и не обрабатывает данные аудио |
QAudio::IdleState |
3 |
У QIODevice, переданного в качестве параметра, нет данных, и буфер аудиосистемы пуст, это состояние устанавливается после вызова start() и пока данные аудио недоступны для обработки. |
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, VolumeScale from, 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.9/qaudio.html