【问题标题】:Qt: Get QAudioDeviceInfo for input device by nameQt:按名称获取输入设备的 QAudioDeviceInfo
【发布时间】:2016-12-27 04:37:56
【问题描述】:

是否有 Qt 函数通过QString 名称获取音频输入设备?我找到的相关函数:

QAudioRecorder::setAudioInput() 接近我想要的,但我无法从QAudioRecorder 中获得QAudioDeviceInfo

我可以遍历 QAudioDeviceInfo::availableDevices() 返回的 QList,但希望有更好的结果。

【问题讨论】:

  • 没有更好的办法,你应该遍历availableDevices并检查deviceName

标签: qt


【解决方案1】:

正如@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");
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多