The QAudioSystemPlugin class provides an abstract base for audio plugins. 更多...
| 头: | #include <QAudioSystemPlugin> | 
| qmake: | QT += multimedia | 
| 继承: | QObject and 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 | 
| const QMetaObject | staticMetaObject | 
The QAudioSystemPlugin class provides an abstract base for audio plugins.
Writing a audio plugin is achieved by subclassing this base class, reimplementing the pure virtual functions availableDevices (), createInput (), createOutput () 和 createDeviceInfo () then exporting the class with the Q_PLUGIN_METADATA () 宏。
The json file containing the meta data should contain a list of keys matching the plugin. Add "default" to your list of keys available to override the default audio device to be provided by your plugin.
{ "Keys": [ "default" ] }
					
					Unit tests are available to help in debugging new plugins.
Qt comes with plugins for Windows (WinMM and WASAPI), Linux (ALSA and PulseAudio), macOS / iOS (CoreAudio), Android (OpenSL ES) and QNX.
If no audio plugins are available, a fallback dummy backend will be used. This should print out warnings if this is the case when you try and use QAudioInput or QAudioOutput . To fix this problem, make sure the dependencies for the Qt plugins are installed on the system and reconfigure Qt (e.g. alsa-devel package on Linux), or create your own plugin with a default key to always override the dummy fallback. The easiest way to determine if you have only a dummy backend is to get a list of available audio devices.
QAudioDeviceInfo::availableDevices ( QAudio::AudioOutput ).size() = 0 (dummy backend)
另请参阅 QAbstractAudioDeviceInfo , QAbstractAudioOutput ,和 QAbstractAudioInput .
Constructs a new audio plugin with parent . This is invoked automatically by the Q_PLUGIN_METADATA () 宏。
[虚拟]
						
						QAudioSystemPlugin::
						
							~QAudioSystemPlugin
						
						()
						
					Destroys the audio plugin. You never have to call this explicitly. Qt destroys a plugin automatically when it is no longer used.
[override pure virtual]
						
						
							
								QList
							
						
						<
						
							
								QByteArray
							
						
						> QAudioSystemPlugin::
						
							availableDevices
						
						(
						
							
								QAudio::Mode
							
						
						
							mode
						
						) const
						
					Returns a list of available audio devices for mode
[override pure virtual]
						
						
							
								QAbstractAudioDeviceInfo
							
						
						*QAudioSystemPlugin::
						
							createDeviceInfo
						
						(const
						
							
								QByteArray
							
						
						&
						
							device
						
						,
						
							
								QAudio::Mode
							
						
						
							mode
						
						)
						
					返回指针指向 QAbstractAudioDeviceInfo created using device and mode
[override pure virtual]
						
						
							
								QAbstractAudioInput
							
						
						*QAudioSystemPlugin::
						
							createInput
						
						(const
						
							
								QByteArray
							
						
						&
						
							device
						
						)
						
					返回指针指向 QAbstractAudioInput created using device 标识符
[override pure virtual]
						
						
							
								QAbstractAudioOutput
							
						
						*QAudioSystemPlugin::
						
							createOutput
						
						(const
						
							
								QByteArray
							
						
						&
						
							device
						
						)
						
					返回指针指向 QAbstractAudioOutput created using device 标识符