所以我想创建一个简单的程序,比如使用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

这段代码是工作的,但是你知道我分别播放每个部分,所以每个部分之间有一个延迟,歌曲的某些部分丢失了

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐