Класс QAudioDeviceInfo
Класс QAudioDeviceInfo предоставляет интерфейс для запроса аудиоустройств и их функциональности. Подробнее...
| Заголовок: | #include <QAudioDeviceInfo> |
| qmake: | QT += multimedia |
Открытые функции
| QAudioDeviceInfo(const QAudioDeviceInfo &other) | |
| QAudioDeviceInfo() | |
| QAudioDeviceInfo & | operator=(const QAudioDeviceInfo &other) |
| ~QAudioDeviceInfo() | |
| QString | deviceName() const |
| bool | isFormatSupported(const QAudioFormat &settings) const |
| bool | isNull() const |
| QAudioFormat | nearestFormat(const QAudioFormat &settings) const |
| QAudioFormat | preferredFormat() const |
| QString | realm() const |
| QList<QAudioFormat::Endian> | supportedByteOrders() const |
| QList<int> | supportedChannelCounts() const |
| QStringList | supportedCodecs() const |
| QList<int> | supportedSampleRates() const |
| QList<int> | supportedSampleSizes() const |
| QList<QAudioFormat::SampleType> | supportedSampleTypes() const |
| bool | operator!=(const QAudioDeviceInfo &other) const |
| bool | operator==(const QAudioDeviceInfo &other) const |
Статические открытые члены
| QList<QAudioDeviceInfo> | availableDevices(QAudio::Mode mode) |
| QAudioDeviceInfo | defaultInputDevice() |
| QAudioDeviceInfo | defaultOutputDevice() |
Подробное описание
QAudioDeviceInfo позволяет запросить аудиоустройства, такие как звуковые карты и USB-гарнитуры, которые в настоящее время доступны в системе. Доступные аудиоустройства зависят от платформы или установленных аудиоплагинов.
QAudioDeviceInfo используется Qt для построения классов, взаимодействующих с устройством, таких как QAudioInput и QAudioOutput.
Вы также можете запросить каждое устройство, чтобы получить список поддерживаемых форматов. Формат в данном контексте — это набор, состоящий из определенного порядка байтов, каналов, кодека, частоты, частоты дискретизации и типа выборки. Формат представляется классом QAudioFormat.
Поддерживаемые значения для каждого из этих параметров можно получить с помощью supportedByteOrders(), supportedChannelCounts(), supportedCodecs(), supportedSampleRates(), supportedSampleSizes() и supportedSampleTypes(). Поддерживаемые комбинации зависят от платформы, установленных аудиоплагинов и возможностей аудиоустройства. Если вам нужен определённый формат, вы можете проверить его поддержку с помощью isFormatSupported() или получить наиболее подходящий поддерживаемый формат с помощью nearestFormat(). Например:
QAudioFormat format;
format.setSampleRate(44100);
// ... other format parameters
format.setSampleType(QAudioFormat::SignedInt);
QAudioDeviceInfo info(QAudioDeviceInfo::defaultOutputDevice());
if (!info.isFormatSupported(format))
format = info.nearestFormat(format); Статические функции defaultInputDevice(), defaultOutputDevice() и availableDevices() позволяют получить список всех доступных устройств. Устройства извлекаются в соответствии со значением режима, заданным перечислением QAudio::Mode. Возвращаемые QAudioDeviceInfo действительны только для заданного QAudio::Mode.
Например:
const auto deviceInfos = QAudioDeviceInfo::availableDevices(QAudio::AudioOutput);
for (const QAudioDeviceInfo &deviceInfo : deviceInfos)
qDebug() << "Device name: " << deviceInfo.deviceName(); В этом примере мы перебираем все устройства, которые могут выводить звук, то есть воспроизводить аудиопоток в поддерживаемом формате. Для каждого найденного устройства мы просто выводим deviceName().
См. также QAudioOutput и QAudioInput.
Документация по функциям-членам
QAudioDeviceInfo::QAudioDeviceInfo(const QAudioDeviceInfo &other)
Создает копию other.
QAudioDeviceInfo::QAudioDeviceInfo()
Создаёт пустой объект QAudioDeviceInfo.
QAudioDeviceInfo &QAudioDeviceInfo::operator=(const QAudioDeviceInfo &other)
Устанавливает объект QAudioDeviceInfo равным other.
QAudioDeviceInfo::~QAudioDeviceInfo()
Уничтожает информацию об аудиоустройстве.
[static] QList<QAudioDeviceInfo> QAudioDeviceInfo::availableDevices(QAudio::Mode mode)
Возвращает список аудиоустройств, которые поддерживают mode.
[static] QAudioDeviceInfo QAudioDeviceInfo::defaultInputDevice()
Возвращает информацию о стандартном устройстве ввода звука. Все реализации платформы и аудиоплагинов предоставляют стандартное аудиоустройство для использования.
[static] QAudioDeviceInfo QAudioDeviceInfo::defaultOutputDevice()
Возвращает информацию о стандартном устройстве вывода звука. Все реализации платформы и аудиоплагинов предоставляют стандартное аудиоустройство для использования.
QString QAudioDeviceInfo::deviceName() const
Возвращает удобочитаемое имя аудиоустройства.
Имена устройств различаются в зависимости от платформы/используемого аудиоплагина.
Это уникальный строковый идентификатор аудиоустройства.
например, default, Intel, U0x46d0x9a4
bool QAudioDeviceInfo::isFormatSupported(const QAudioFormat &settings) const
Возвращает true, если заданные settings поддерживаются аудиоустройством, описанным этим объектом QAudioDeviceInfo.
bool QAudioDeviceInfo::isNull() const
Возвращает значение, указывающее, содержит ли этот объект QAudioDeviceInfo действительное определение устройства.
QAudioFormat QAudioDeviceInfo::nearestFormat(const QAudioFormat &settings) const
Возвращает наиболее близкий к заданным settings QAudioFormat, поддерживаемый системой.
Эти настройки предоставляются используемой платформой/аудиоплагином.
Они также зависят от используемого QAudio::Mode.
QAudioFormat QAudioDeviceInfo::preferredFormat() const
Возвращает стандартные настройки аудиоформата для этого устройства.
Эти настройки предоставляются используемой платформой/аудиоплагином.
Они также зависят от используемого QAudio::Mode.
Типичная аудиосистема может предоставлять следующее:
- Настройки ввода: 8000 Гц моно 8 бит.
- Настройки вывода: 44100 Гц стерео 16 бит little endian.
QString QAudioDeviceInfo::realm() const
Возвращает ключ, представляющий аудиоплагин.
Эта функция была добавлена в Qt 5.14.
См. также QAudioSystemPlugin.
QList<QAudioFormat::Endian> QAudioDeviceInfo::supportedByteOrders() const
Возвращает список поддерживаемых порядков байтов.
QList<int> QAudioDeviceInfo::supportedChannelCounts() const
Возвращает список поддерживаемых количества каналов.
Обычно это 1 для моно звука или 2 для стерео звука.
QStringList QAudioDeviceInfo::supportedCodecs() const
Возвращает список поддерживаемых кодеков.
Все реализации платформы и плагинов должны поддерживать:
"audio/pcm" - Линейный PCM
Для написания плагинов, поддерживающих дополнительные кодеки, см.:
http://www.iana.org/assignments/media-types/audio/
QList<int> QAudioDeviceInfo::supportedSampleRates() const
Возвращает список поддерживаемых частот дискретизации (в Герцах).
QList<int> QAudioDeviceInfo::supportedSampleSizes() const
Возвращает список поддерживаемых размеров выборки (в битах).
Обычно это включает размеры выборки 8 и 16 бит.
QList<QAudioFormat::SampleType> QAudioDeviceInfo::supportedSampleTypes() const
Возвращает список поддерживаемых типов выборки.
bool QAudioDeviceInfo::operator!=(const QAudioDeviceInfo &other) const
Возвращает true, если этот класс QAudioDeviceInfo представляет собой другое аудиоустройство, чем other.
bool QAudioDeviceInfo::operator==(const QAudioDeviceInfo &other) const
Возвращает true, если этот класс QAudioDeviceInfo представляет то же самое аудиоустройство, что и other.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/qaudiodeviceinfo.html