QAudioDeviceInfo 类

The QAudioDeviceInfo 类提供查询音频设备及其功能的接口。 更多...

头: #include <QAudioDeviceInfo>
Since: Qt 4.6

公共函数

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
QAudioDeviceInfo & operator= (const QAudioDeviceInfo & other )

静态公共成员

QList<QAudioDeviceInfo> availableDevices (QAudio::Mode mode )
QAudioDeviceInfo defaultInputDevice ()
QAudioDeviceInfo defaultOutputDevice ()

详细描述

The QAudioDeviceInfo 类提供查询音频设备及其功能的接口。

QAudioDeviceInfo 允许查询系统中当前可用的音频设备 (譬如:声卡和 USB 耳机)。可用的音频设备从属所安装的平台或音频插件。

You can also query each device for the formats it supports. A format in this context is a set consisting of a specific byte order, channel, codec, frequency, sample rate, and sample type. A format is represented by the QAudioFormat 类。

The values supported by the the device for each of these parameters can be fetched with supportedByteOrders (), supportedChannelCounts (), supportedCodecs (), supportedSampleRates (), supportedSampleSizes (),和 supportedSampleTypes (). The combinations supported are dependent on the platform, audio plugins installed and the audio device capabilities. If you need a specific format, you can check if the device supports it with isFormatSupported (), or fetch a supported format that is as close as possible to the format with nearestFormat (). For instance:

        QAudioFormat format;
        format.setFrequency(44100);
        ...
        format.setSampleType(QAudioFormat::SignedInt);
        QAudioDeviceInfo info(QAudioDeviceInfo::defaultOutputDevice());
        if (!info.isFormatSupported(format))
            format = info.nearestFormat(format);
					

A QAudioDeviceInfo 用于 Qt 以构造与设备通信的类,譬如 QAudioInput ,和 QAudioOutput . The static functions defaultInputDevice (), defaultOutputDevice (),和 availableDevices () let you get a list of all available devices. Devices are fetch according to the value of mode this is specified by the QAudio::Mode enum. The QAudioDeviceInfo returned are only valid for the QAudio::Mode .

例如:

foreach(const QAudioDeviceInfo &deviceInfo, QAudioDeviceInfo::availableDevices(QAudio::AudioOutput))
    qDebug() << "Device name: " << deviceInfo.deviceName();
					

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 ().

另请参阅 QAudioOutput and 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 ()

Returns the name of the default input audio device. All platform and audio plugin implementations provide a default audio device to use.

[static] QAudioDeviceInfo QAudioDeviceInfo:: defaultOutputDevice ()

Returns the name of the default output audio device. All platform and audio plugin implementations provide a default audio device to use.

QString QAudioDeviceInfo:: deviceName () const

Returns human readable name of audio device.

Device names vary depending on platform/audio plugin being used.

They are a unique string identifiers for the audio device.

如 default, Intel, U0x46d0x9a4

bool QAudioDeviceInfo:: isFormatSupported (const QAudioFormat & settings ) const

返回 true 若 settings are supported by the audio device of this QAudioDeviceInfo .

bool QAudioDeviceInfo:: isNull () const

Returns whether this QAudioDeviceInfo object holds a device definition.

QAudioFormat QAudioDeviceInfo:: nearestFormat (const QAudioFormat & settings ) const

Returns closest QAudioFormat to settings that system audio supports.

These settings are provided by the platform/audio plugin being used.

They also are dependent on the QAudio::Mode 被使用。

QAudioFormat QAudioDeviceInfo:: preferredFormat () const

返回 QAudioFormat of default settings.

These settings are provided by the platform/audio plugin being used.

They also are dependent on the QAudio::Mode 被使用。

A typical audio system would provide something like:

  • 输入设置:8000Hz 单声道 8 位。
  • Output settings: 44100Hz stereo 16 bit little endian.

QList < QAudioFormat::Endian > QAudioDeviceInfo:: supportedByteOrders () const

返回支持的字节序列表。

QList < int > QAudioDeviceInfo:: supportedChannelCounts () const

Returns a list of supported channel counts.

该函数在 Qt 4.7 引入。

QStringList QAudioDeviceInfo:: supportedCodecs () const

返回支持的编解码器列表。

所有平台和插件实现都应提供支持:

audio/pcm - 线性 PCM

编写插件以支持额外编解码器,参考:

http://www.iana.org/assignments/media-types/audio/

QList < int > QAudioDeviceInfo:: supportedSampleRates () const

Returns a list of supported sample rates.

该函数在 Qt 4.7 引入。

QList < int > QAudioDeviceInfo:: supportedSampleSizes () const

Returns a list of supported sample sizes.

QList < QAudioFormat::SampleType > QAudioDeviceInfo:: supportedSampleTypes () const

Returns a list of supported sample types.

QAudioDeviceInfo & QAudioDeviceInfo:: operator= (const QAudioDeviceInfo & other )

设置 QAudioDeviceInfo 对象等于 other .