是否有Qt功能可以通过QString
名称获取音频输入设备?相关功能我发现:
QAudioRecorder::setAudioInput()
接近我想要的但是AFAIK我无法从QAudioDeviceInfo
中获得QAudioRecorder
。
我可以遍历QList
返回的QAudioDeviceInfo::availableDevices()
,但希望有更好的东西。
答案 0 :(得分:2)
正如@demonplus在评论中建议的那样,Qt什么也没提供。我只是使用:
QAudioDeviceInfo getAudioDevice(QString name) {
QAudioDeviceInfo device;
QList<QAudioDeviceInfo> devices =
QAudioDeviceInfo::availableDevices(QAudio::AudioInput);
for(int i = 0; i < devices.size(); ++i) {
if(devices.at(i).deviceName() == name) {
device = devices.at(i);
break;
}
}
return device;
}
QAudioDeviceInfo myDevice = getAudioDevice("default");
if(myDevice.isNull()) {
qCritical("Device not found");
}