QAudioDevice 类提供音频设备及其功能的有关信息。 更多...
| 头: | #include <QAudioDevice> |
| CMake: |
find_package(Qt6 REQUIRED COMPONENTS Multimedia)
target_link_libraries(mytarget PRIVATE Qt6::Multimedia) |
| qmake: | QT += multimedia |
| enum | Mode { Null, Input, Output } |
| QAudioDevice () | |
| QAudioDevice (const QAudioDevice & other ) | |
| QAudioDevice (QAudioDevice && other ) | |
| ~QAudioDevice () | |
| QAudioFormat::ChannelConfig | channelConfiguration () const |
| QString | description () const |
| QByteArray | id () const |
| bool | isDefault () const |
| bool | isFormatSupported (const QAudioFormat & settings ) const |
| bool | isNull () const |
| int | maximumChannelCount () const |
| int | maximumSampleRate () const |
| int | minimumChannelCount () const |
| int | minimumSampleRate () const |
| QAudioDevice::Mode | mode () const |
| QAudioFormat | preferredFormat () const |
| QList<QAudioFormat::SampleFormat> | supportedSampleFormats () const |
| void | swap (QAudioDevice & other ) |
| bool | operator!= (const QAudioDevice & other ) const |
| QAudioDevice & | operator= (QAudioDevice && other ) |
| QAudioDevice & | operator= (const QAudioDevice & other ) |
| bool | operator== (const QAudioDevice & other ) const |
QAudioDevice describes an audio device available in the system, either for input or for playback.
A QAudioDevice is used by Qt to construct classes that communicate with the device – such as QAudioSource ,和 QAudioSink . It is also used to determine the input or output device to use in a capture session or during media playback.
You can also query each device for the formats it supports. A format in this context is a set consisting of a channel count, sample rate, and sample type. A format is represented by the QAudioFormat 类。
The values supported by the device for each of these parameters can be fetched with minimumChannelCount (), maximumChannelCount (), minimumSampleRate (), maximumSampleRate () 和 supportedSampleFormats (). The combinations supported are dependent on the audio device capabilities. If you need a specific format, you can check if the device supports it with isFormatSupported (). For instance:
{
sourceFile.setFileName("/tmp/test.raw");
sourceFile.open(QIODevice::ReadOnly);
QAudioFormat format;
// Set up the format, eg.
format.setSampleRate(8000);
format.setChannelCount(1);
format.setSampleFormat(QAudioFormat::UInt8);
QAudioDevice info(QMediaDevices::defaultAudioOutput());
if (!info.isFormatSupported(format)) {
qWarning() << "Raw audio format not supported by backend, cannot play audio.";
return;
}
audio = new QAudioSink(format, this);
connect(audio, SIGNAL(stateChanged(QAudio::State)), this, SLOT(handleStateChanged(QAudio::State)));
audio->start(&sourceFile);
}
The set of available devices can be retrieved from the QMediaDevices 类。
例如:
const auto devices = QMediaDevices::audioOutputs(); for (const QAudioDevice &device : devices) qDebug() << "Device: " << device.description();
In this code sample, we loop through all devices that are able to output sound, i.e., play an audio stream in a supported format. For each device we find, we simply print the deviceName().
另请参阅 QAudioSink , QAudioSource ,和 QAudioFormat .
Describes the mode of this device.
| 常量 | 值 | 描述 |
|---|---|---|
QAudioDevice::Null
|
0
|
A null device. |
QAudioDevice::Input
|
1
|
An input device. |
QAudioDevice::Output
|
2
|
An output device. |
[read-only]
description
: const
QString
Returns a human readable name of the audio device.
Use this string to present the device to the user.
访问函数:
| QString | description () const |
[read-only]
id
: const
QByteArray
Returns an identifier for the audio device.
设备名称从属所使用的平台/音频插件。
They are a unique identifier for the audio device.
访问函数:
| QByteArray | id () const |
[read-only]
isDefault
: const
bool
Returns true if this is the default audio device.
访问函数:
| bool | isDefault () const |
[read-only]
mode
: const
Mode
Returns whether this device is an input or output device.
访问函数:
| QAudioDevice::Mode | mode () const |
Constructs a null QAudioDevice object.
构造副本为 other .
Move constructs from other .
销毁此音频设备信息。
Returns the channel configuration of the device.
返回 true 若供给 settings are supported by the audio device described by this QAudioDevice .
Returns whether this QAudioDevice object holds a valid device definition.
Returns the maximum number of supported channel counts.
This is typically 1 for mono sound, or 2 for stereo sound.
Returns the maximum supported sample rate (in Hertz).
Returns the minimum number of supported channel counts.
This is typically 1 for mono sound, or 2 for stereo sound.
Returns the minimum supported sample rate (in Hertz).
Returns the default audio format settings for this device.
These settings are provided by the platform/audio plugin being used.
They are also dependent on the QAudio ::Mode being used.
A typical audio system would provide something like:
Returns a list of supported sample types.
Swaps the audio device with the other .
返回 true,若此 QAudioDevice class represents a different audio device than other
移动 other 到此 QAudioDevice 对象。
设置 QAudioDevice 对象等于 other .
返回 true,若此 QAudioDevice class represents the same audio device as other .