Код на python работает только в режиме отладки
Код скомпилированный в .exe не запускается на 2 из 6 компьютеров. Также кроме режима отладки код запускается из стандартной idle python.
from PySide6.QtCore import QByteArray
from PySide6.QtMultimedia import QAudioFormat
from PySide6.QtCore import QByteArray, QIODevice,QByteArray
from PySide6.QtMultimedia import (
QAudioDevice,
QAudioFormat,
QAudioSource,
QMediaDevices,
)
import wave
class Microphone():
def __init__(self) -> None:
super().__init__()
self.m_devices = QMediaDevices()
self.m_pullMode = False
self.io:QIODevice
self.initialize_audio(QMediaDevices.defaultAudioInput())
def initialize_audio(self, device_info: QAudioDevice):
format = QAudioFormat()
format.setSampleRate(8000)
format.setChannelCount(1)
format.setSampleFormat(QAudioFormat.Int16)
self.m_audio_input = QAudioSource(device_info, format)
self.io = self.m_audio_input.start()
wf = wave.open("output.wav", 'wb')
wf.setnchannels(1)
wf.setsampwidth(QAudioFormat.Int16)
wf.setframerate(8000)
micro=Microphone()
while (micro.io.isReadable()):
len = micro.m_audio_input.bytesAvailable()
buffer_size = 2048
if len > buffer_size:
len = buffer_size
buffer:QByteArray
buffer = micro.io.read(len)
wf.writeframes(b''.join(buffer))
wf.close()