其他分享
首页 > 其他分享> > QT的QAudioDeviceInfo类的使用

QT的QAudioDeviceInfo类的使用

作者:互联网

详细说明
QAudioDeviceInfo类提供了一个查询音频设备及其功能的接口。

QAudioDeviceInfo使您可以查询系统上当前可用的音频设备,例如声卡和USB耳机。可用的音频设备取决于所安装的平台或音频插件。
Qt使用QAudioDeviceInfo构造与设备通信的类-例如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枚举指定的mode值获取设备。 返回的QAudioDeviceInfo仅对QAudio :: Mode有效。
例如:

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

标签:QAudio,QAudioFormat,QT,format,QAudioDeviceInfo,音频设备,使用,格式
来源: https://blog.csdn.net/it_xiangqiang/article/details/110423904