2016-12-27 10 views
0

QString名前でオーディオ入力デバイスを取得するQt関数はありますか?関連の機能私が見つけた:Qt:名前で入力デバイスのQAudioDeviceInfoを取得します。

QAudioRecorder::setAudioInput()

  • void QAudioRecorder::setAudioInput(const QString &name)
  • は、私が欲しいものに近いですが、私の知る限り、私は QAudioDeviceInfo QAudioRecorderから抜け出すことができます方法はありません。

    QListが返され、QAudioDeviceInfo::availableDevices()が返されましたが、何か改善が期待されていました。

    +1

    良い方法はありません、availableDevicesを繰り返して、deviceNameをチェックしてください – demonplus

    答えて

    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"); 
    } 
    
    関連する問題