Класс QAudioDeviceInfo
Класс QAudioDeviceInfo предоставляет интерфейс для запроса аудиоустройств и их функциональности. Подробнее...
| Заголовок: | #include <QAudioDeviceInfo> |
| qmake: | QT += multimedia |
Открытые функции
| QAudioDeviceInfo() | |
| QAudioDeviceInfo(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 |
| QAudioDeviceInfo & | operator=(const QAudioDeviceInfo &other) |
| bool | operator==(const QAudioDeviceInfo &other) const |
Статические открытые члены
| QList<QAudioDeviceInfo> | availableDevices(QAudio::Mode mode) |
| QAudioDeviceInfo | defaultInputDevice() |
| QAudioDeviceInfo | defaultOutputDevice() |
Подробное описание
Класс QAudioDeviceInfo предоставляет интерфейс для запроса аудиоустройств и их функциональности.
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.
Например:
foreach (const QAudioDeviceInfo &deviceInfo, QAudioDeviceInfo::availableDevices(QAudio::AudioOutput))
qDebug() << "Device name: " << deviceInfo.deviceName(); В этом примере кода мы перебираем все устройства, способные выводить звук, то есть воспроизводить аудиопоток в поддерживаемом формате. Для каждого найденного устройства мы просто выводим deviceName().
См. также QAudioOutput и QAudioInput.
Документация по функциям-членам
QAudioDeviceInfo::QAudioDeviceInfo()
Конструирует пустой объект QAudioDeviceInfo.
QAudioDeviceInfo::QAudioDeviceInfo(const QAudioDeviceInfo &other)
Конструирует копию 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
Возвращает значение true, если этот объект QAudioDeviceInfo содержит действительное определение устройства.
QAudioFormat QAudioDeviceInfo::nearestFormat(const QAudioFormat &settings) const
Возвращает ближайший формат QAudioFormat к предоставленным settings, поддерживаемый системой.
Эти настройки предоставляются используемой платформой/аудиоплагином.
Они также зависят от используемого режима 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.
QAudioDeviceInfo &QAudioDeviceInfo::operator=(const QAudioDeviceInfo &other)
Устанавливает объект 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.9/qaudiodeviceinfo.html