PyQt6 QMediaRecorder recording no sound
Unsolved
Qt for Python
-
I'm coding with Python 3.11 in Linux, PyQt6, and want to record audio to file. Using QMediaRecorder. My script writes an audio file m4a format to disk, but no sound is recorded. Basically microphone device works on this PC, have tested with other programs.
What am I doing wrong?
Here is my code:
self.session = QMediaCaptureSession() self.audioInput = QAudioInput() self.session.setAudioInput(self.audioInput) self.recorder = QtMultimedia.QMediaRecorder() self.session.setRecorder(self.recorder) self.recorder.setOutputLocation(QUrl.fromLocalFile("/home/axel/Development/aiAudioDoc_files/aiAudioDoc02")) def ........ self.recorder.setQuality(QtMultimedia.QMediaRecorder.Quality(3)) self.audioInput.setVolume(80/100) self.recorder.record()
-
Hi and welcome to devnet,
I haven't used the module yet but, what do you get from QMediaDevices with regard to audio inputs ?
-
Hi,
that's what I get :Device: USB Audio Analog Stereo Device: Alder Lake PCH-P High Definition Audio Controller Headphones Stereo Microphone Device: Alder Lake PCH-P High Definition Audio Controller Digital Microphone defaultDevice: USB Audio Analog Stereo Id b'alsa_input.usb-Generic_USB_Audio-00.analog-stereo' <PyQt6.QtMultimedia.QAudioDevice object at 0x7fda87807ed0>
from:
devices = QMediaDevices.audioInputs() for device in devices: print("Device: ", device.description()) defaultdevice = QMediaDevices.defaultAudioInput() print("defaultDevice: ", defaultdevice.description(), "Id ", defaultdevice.id()) print(QMediaDevices.defaultAudioInput())