【发布时间】:2017-07-12 21:04:59
【问题描述】:
我使用的是 Windows 7,我希望能够访问(读/写)默认音频输入设备的录音音量。
在 PyQt 5.7 中,下面的代码有效,并且 audio.volume() 返回了实际的录音级别(例如 0.8)。在 PyQt 5.8.2 和 5.9 中,下面的方法不再起作用,它总是返回 0.0(我也无法更改级别)。我注意到的一个区别是 5.8 和 5.9 的音频输入设备名称为“默认输入设备”,而在 5.7 中它是实际(截断的)设备名称(例如“麦克风(Logitech USB Headse”)。这对我来说很有意义当我要求默认设备时,它会返回“默认输入设备”。
import PyQt5.QtCore
from PyQt5 import QtMultimedia
PyQt5.QtCore.PYQT_VERSION_STR # '5.9'
audioFormat = QtMultimedia.QAudioFormat()
audioFormat.setChannelCount(1)
audioFormat.setSampleRate(16000)
audioFormat.setSampleSize(16)
audioFormat.setCodec("audio/pcm")
audioFormat.setByteOrder(QtMultimedia.QAudioFormat.LittleEndian)
audioFormat.setSampleType(QtMultimedia.QAudioFormat.SignedInt)
info = QtMultimedia.QAudioDeviceInfo.defaultInputDevice()
info.deviceName() # 'Default Input Device'
audio = QtMultimedia.QAudioInput(info, audioFormat)
audio.volume() # 0.0
info.isFormatSupported(audioFormat) # True
我的问题:
- 这是一个错误吗?如果有,我在哪里可以举报?
- 我应该如何访问音频输入音量?
【问题讨论】:
-
我找到了一个 Qt 论坛,这个问题可能更适合:qtcentre.org/threads/…