Ich bin auf Windows 7 und ich möchte auf die Aufnahme-Lautstärke des Standard-Audio-Eingabegerät zugreifen (lesen/schreiben).Wie kann ich in PyQt 5.9 auf das Audioaufnahmevolumen zugreifen?
In PyQt 5.7 der Code unten gearbeitet und audio.volume() gab den tatsächlichen Aufnahmepegel (z. B. 0,8). In PyQt 5.8.2 und 5.9 funktioniert der folgende Ansatz nicht mehr und er gibt immer 0.0 zurück (und ich bin auch nicht in der Lage das Level zu ändern). Ein Unterschied, den ich festgestellt habe, ist, dass 5.8 und 5.9 den Namen des Audio-Eingabegeräts "Default Input Device" haben, während es in 5.7 der tatsächliche (abgeschnittene) Gerätename war (zB "Microphone (Logitech USB Headse") es gibt „Eingabegerät Standard“, wie ich für das Standardgerät gefragt
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
Fragen habe ich:.?
- Ist das ein Fehler Wenn ja, wo kann ich es berichten
- wie? sollte ich auf den Audioeingangspegel zugreifen?
Ich habe ein Qt-Forum gefunden, in dem diese Frage besser passt: http://www.qtcentre.org/threads/68488-How-to-access-audio-recording-volume-in-PyQt-5 -9 – e1i45
Fehler gemeldet: https://bugreports.qt.io/browse/QTBUG-61920 – e1i45