[英]Stuttering audio with PyAudio on Raspberry Pi
我正在嘗試在兩個Raspberry Pi之間進行單工通信(一旦解決此問題,它將變為半雙工)。
一個通過UDP協議發送音頻數據包,另一個接收此數據包並通過其默認音頻輸出設備播放它們。
我正在使用PyAudio庫。 我設法使通訊正常進行,但是發出的聲音卻卡住了。 我使用的代碼如下:
客戶端(IP地址:192.168.1.40)
#!/usr/bin/env python
import pyaudio
import wave
import socket
p = pyaudio.PyAudio()
stream = p.open(format=pyaudio.paInt16,
channels=1,
input_device_index=2,
rate=44100,
input=True,
frames_per_buffer=8192)
print("Stream on.")
while True:
try:
data = stream.read(8192)
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.connect(("192.168.1.30", 1000))
sock.send(data)
sock.close()
except KeyboardInterrupt:
print("Stream off.")
stream.stop_stream()
stream.close()
p.terminate()
服務器(IP地址:192.168.1.30)
#!/usr/bin/env python
import pyaudio
import wave
import socket
p = pyaudio.PyAudio()
stream = p.open(format=pyaudio.paInt16,
channels=1,
input_device_index=2,
rate=44100,
output=True,
frames_per_buffer=8192)
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.bind(('0.0.0.0', 1000))
while True:
try:
data = s.recv(8192)
if data:
stream.write(data)
except KeyboardInterrupt:
s.close()
print "Exiting code."
stream.stop_stream()
stream.close()
p.terminate()
任何幫助將不勝感激!
我也面臨着類似的口吃問題。 這是因為流期間出現輸入溢出錯誤。 如果每次通信的塊大小都減小到512字節,那么按照我的經驗,通信就會順利進行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.