我有一个问题:如果我重复按“receive-audio”和“Start”按钮,我会得到以下错误:
出现错误:[错误号非输入流] -9975
出现错误:[Errno Not output stream] -9974
我想同时向服务器端发送和接收音频,但我不能。
enter image description here
下面是我的代码:
def send_audio(self):
p = pyaudio.PyAudio()
while self.is_running:
try:
self.stream = p.open(format=pyaudio.paInt16,
channels=self.CHANNELS,
rate=self.RATE,
input=True,
frames_per_buffer=self.CHUNK)
while self.is_running:
data = self.stream.read(self.CHUNK)
audio_data = np.frombuffer(data, np.int16)
self.server_socket.sendall(audio_data)
if not self.is_running:
break
self.stream.stop_stream()
self.stream.close()
p.terminate()
except Exception as e:
# Handle the exception (e.g., log the error, retry, etc.)
print("An error occurred:", str(e))
def receive_audio(self):
p = pyaudio.PyAudio()
while self.is_running_recv:
try:
self.stream = p.open(format=self.FORMAT,
channels=self.CHANNELS,
rate=self.RATE,
output=True)
while self.is_running_recv:
data = self.server_socket.recv(self.CHUNK)
if not data:
break
if self.event.is_set():
self.stream.write(data)
self.stream.stop_stream()
self.stream.close()
self.server_socket.close()
p.terminate()
except Exception as e:
# Handle the exception (e.g., log the error, retry, etc.)
print("An error occurred:", str(e))
1条答案
按热度按时间g52tjvyc1#
我解决了这个问题。我们应该写stream而不是self.stream