Spec-Zone.ru › Qt 5.12

Пространство имён 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API