 
 
 
  
  使用QAudioInput从PulseAudio声音设备录音时,录音音量的非线性控制效果
QAudioInput的文档表明,在支持进行输入音量设置的设备上录音时,可使用setVolume方法来设置录音音量,并且其默认值会是1,也就是最大增益。
在实际运行过程中,这会导致系统的声音输入音量对应地发生变化,然而系统声音输入音量的值与QAudioInput中设置的音量值之间并不是相等的关系,而是大致上的对数关系。这可能是PulseAudio的一个特性。
QAudioInput中设置的音量,与系统实际录音音量,都换算成百分比之后,其中一些数值对应关系如下。
| QAudioInput % | PulseAudio % | 
| 0 | 0 | 
| 1 | 22 | 
| 3 | 31 | 
| 6 | 39 | 
| 12 | 49 | 
| 25 | 63 | 
| 30 | 67 | 
| 50 | 79 | 
| 60 | 84 | 
| 90 | 97 | 
| 99 | 100 | 
| 100 | 100 | 
收集到更多的数据之后,绘制出的对应关系曲线如下所示。
HxLauncher: Launch Android applications by voice commands
