Класс 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 |
| 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() позволяют получить список всех доступных устройств. Устройства извлекаются в соответствии со значением параметра mode, которое задаётся перечислением QAudio::Mode. Возвращаемые значения QAudioDeviceInfo действительны только для указанного QAudio::Mode.
Например:
foreach (const QAudioDeviceInfo &deviceInfo, QAudioDeviceInfo::availableDevices(QAudio::AudioOutput))
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
Возвращает удобочитаемое имя аудиоустройства.
Имена устройств зависят от платформы/используемого аудиоплагина.
Они представляют собой уникальный строковый идентификатор аудиоустройства.
Например: стандартное, Intel, U0x46d0x9a4
bool QAudioDeviceInfo::isFormatSupported(const QAudioFormat &settings) const
Возвращает true, если заданные settings поддерживаются аудиоустройством, описанным этим объектом QAudioDeviceInfo.
bool QAudioDeviceInfo::isNull() const
Возвращает значение true, если этот объект QAudioDeviceInfo содержит действительное определение устройства.
QAudioFormat QAudioDeviceInfo::nearestFormat(const QAudioFormat &settings) const
Возвращает ближайший к заданным settings формат QAudioFormat, поддерживаемый системой.
Эти настройки предоставляются используемой платформой/аудиоплагином.
Они также зависят от используемого режима QAudio::Mode.
QAudioFormat QAudioDeviceInfo::preferredFormat() const
Возвращает значения параметров формата по умолчанию для этого устройства.
Эти настройки предоставляются используемой платформой/аудиоплагином.
Они также зависят от используемого режима QAudio::Mode.
Типичная аудиосистема предоставит что-то вроде:
- Настройки ввода: 8000 Гц моно, 8 бит.
- Настройки вывода: 44100 Гц стерео, 16 бит, little endian.
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.13/qaudiodeviceinfo.html