如何防止QAudioInput自动将主音量提升到100%?

时间:2015-01-22 13:32:54

标签: qt audio-recording volume pulseaudio qtmultimedia

我尝试使用Qt5 Multimedia来录制带有QAudioInput的音频。但是,我注意到,当我的QAudioInput启动时,它会将我的声音设备的主音量提高到100%。

如何阻止QAudioInput更改主音量?

我目前的开发平台是带有PulseAudio的Linux(禁用平面音频)。

这就是我使用QAudioInput

的方式
QAudioDeviceInfo device_info = QAudioDeviceInfo::defaultInputDevice();

QAudioFormat format;
format.setSampleRate(44100);
format.setChannelCount(1);
format.setSampleSize(16) ;
format.setCodec("audio/pcm");
format.setSampleType(QAudioFormat::SignedInt);
format.setByteOrder(QAudioFormat::LittleEndian);

std::cout << device_info.deviceName().toUtf8().constData() << std::endl;
QAudioInput *default_device = new QAudioInput(device_info, format);

QIODevice *default_io_device = default_device->start();

1 个答案:

答案 0 :(得分:0)

如果你还没有看到,有QAudioInput.setVolume()方法。话虽如此,我尝试使用QAudioRecorder.setVolume()并且Qt告诉我 - “不支持录制时设置音量”。