Spec-Zone.ru › Qt 5.11

Класс QAudioSystemPlugin

Класс QAudioSystemPlugin предоставляет абстрактный базовый класс для аудиоплагинов. Подробнее...

Заголовок: #include <QAudioSystemPlugin>
qmake: QT += multimedia
Наследуется от: QObject и QAudioSystemFactoryInterface
  • Список всех членов, включая унаследованные

Открытые функции

QAudioSystemPlugin(QObject *parent = nullptr)
virtual ~QAudioSystemPlugin()

Переопределённые открытые функции

virtual QList<QByteArray> availableDevices(QAudio::Mode mode) const override = 0
virtual QAbstractAudioDeviceInfo * createDeviceInfo(const QByteArray &device, QAudio::Mode mode) override = 0
virtual QAbstractAudioInput * createInput(const QByteArray &device) override = 0
virtual QAbstractAudioOutput * createOutput(const QByteArray &device) override = 0
  • 34 открытых функции унаследованы от QObject

Дополнительные унаследованные члены

  • 1 свойство унаследовано от QObject
  • 1 открытый слот унаследован от QObject
  • 2 сигнала унаследованы от QObject
  • 1 открытая переменная унаследована от QObject
  • 10 статических открытых членов унаследованы от QObject
  • 9 защищённых функций унаследованы от QObject
  • 2 защищённые переменные унаследованы от QObject

Подробное описание

Класс QAudioSystemPlugin предоставляет абстрактный базовый класс для аудиоплагинов.

Для создания аудиоплагина необходимо наследовать от этого базового класса, переопределить чисто виртуальные функции availableDevices(), createInput(), createOutput() и createDeviceInfo(), а затем экспортировать класс с помощью макроса Q_PLUGIN_METADATA().

Файл json, содержащий метаданные, должен содержать список ключей, соответствующих плагину. Добавьте «default» в список доступных ключей, чтобы переопределить устройство звука по умолчанию, которое будет предоставляться вашим плагином.

{ "Keys": [ "default" ] }

Доступны модульные тесты для помощи в отладке новых плагинов.

Qt поставляется с плагинами для Windows (WinMM и WASAPI), Linux (ALSA и PulseAudio), macOS / iOS (CoreAudio), Android (OpenSL ES) и QNX.

Если доступны плагины звука, будет использоваться резервный бэкэнд по умолчанию. Это должно вывести предупреждения, если это произойдет при попытке использовать QAudioInput или QAudioOutput. Для решения этой проблемы убедитесь, что зависимости для плагинов Qt установлены в системе, и переконфигурируйте Qt (например, пакет alsa-devel на Linux) или создайте собственный плагин с ключом по умолчанию, чтобы всегда переопределять резервный бэкэнд по умолчанию. Самый простой способ определить, есть ли только бэкэнд по умолчанию, — получить список доступных устройств аудио.

QAudioDeviceInfo::availableDevices(QAudio::AudioOutput).size() = 0 (бэкэнд по умолчанию)

См. также QAbstractAudioDeviceInfo, QAbstractAudioOutput и QAbstractAudioInput.

Документация по функциям-членам

QAudioSystemPlugin::QAudioSystemPlugin(QObject *parent = nullptr)

Создаёт новый плагин аудио с parent. Это вызывается автоматически макросом Q_PLUGIN_METADATA().

[virtual] QAudioSystemPlugin::~QAudioSystemPlugin()

Удаляет плагин аудио. Вы никогда не должны явно вызывать это. Qt удаляет плагин автоматически, когда он больше не используется.

[override pure virtual] QList<QByteArray> QAudioSystemPlugin::availableDevices(QAudio::Mode mode) const

Возвращает список доступных устройств аудио для mode

[override pure virtual] QAbstractAudioDeviceInfo *QAudioSystemPlugin::createDeviceInfo(const QByteArray &device, QAudio::Mode mode)

Возвращает указатель на QAbstractAudioDeviceInfo, созданный с использованием device и mode

[override pure virtual] QAbstractAudioInput *QAudioSystemPlugin::createInput(const QByteArray &device)

Возвращает указатель на QAbstractAudioInput, созданный с использованием идентификатора device

[override pure virtual] QAbstractAudioOutput *QAudioSystemPlugin::createOutput(const QByteArray &device)

Возвращает указатель на QAbstractAudioOutput, созданный с использованием идентификатора device

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.11/qaudiosystemplugin.html

Spec-Zone.ru

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