所以我想创建一个简单的程序,比如使用UDP套接字协议的音乐流播放器。到目前为止,我可以读取mp3文件,将其分割成几个字节,并不断地将其发送给我的接收器(客户机)。我的问题是在从服务器接收mp3文件时,我想一部分一部分地播放。有人能告诉我怎么做吗?我试着在收到后扮演这个角色,但是角色之间有过渡。我想像spotify一样流畅地演奏。在
注意:我不想接收所有的部分,加入他们,并发挥它。我想要的是在接受的同时扮演这个角色。非常感谢你的帮助。我很感激
目前我的代码:
我用这个代码通过UDP发送了分割文件with open('test.mp3', 'rb') as infile:
d = infile.read(65500)
while d :
time.sleep(1)
sent = sock.sendto(d, address)
d = infile.read(65500)
我收到这个代码的分割文件
^{pr2}$
我试过这个代码,我听到嗡嗡声。在
另一种方法是:while 1:
data, server = (sock.recvfrom(65500))
song = AudioSegment.from_file(io.BytesIO(data), format="mp3")
play(song) #with pydub
这段代码是工作的,但是你知道我分别播放每个部分,所以每个部分之间有一个延迟,歌曲的某些部分丢失了