Класс 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/archives/qt-5.11/qaudiodeviceinfo.html