gpt4 book ai didi

python - 如何在PyQt 5.9中访问录音音量?

转载 作者:行者123 更新时间:2023-12-03 01:44:07 25 4
gpt4 key购买 nike

我在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

我有问题:
  • 这是一个错误吗?如果是这样,我可以在哪里报告?
  • 我应该如何访问音频输入音量?
  • 最佳答案

    行为的变化似乎是通过commit引入的。

    要在新的Qt版本(5.8+)中恢复旧的行为,请执行以下操作:获取所有输入设备的列表,并获取第一个。这与默认设备功能的先前实现完全相同。在Windows 7上,列表中的第一个设备始终是默认设备。

    关于python - 如何在PyQt 5.9中访问录音音量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45053990/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com