抱歉,我没有Python3要在这里测试,要使用pyaudio流mp3您需要在PCM数据中解码它,我知道pymedia可以做到,但它太旧了,只支持python27。
要以正确的方式执行此操作,您需要知道音频的一些属性,例如samplerate、频道数、位分辨率,才能在pyaudio中设置它。
我可以用python27+pyaudio来演示如何实现,首先我将演示如何实现流.wavfrom urllib2 import urlopen
#to python3.x
#from urllib.request import urlopen
import pyaudio
pyaud = pyaudio.PyAudio()
srate=44100
stream = pyaud.open(format = pyaud.get_format_from_width(1),
channels = 1,
rate = srate,
output = True)
url = "http://download.wavetlan.com/SVV/Media/HTTP/WAV/NeroSoundTrax/NeroSoundTrax_test4_PCM_Mono_VBR_8SS_44100Hz.wav"
u = urlopen(url)
data = u.read(8192)
while data:
stream.write(data)
data = u.read(8192)
选择大缓冲区,python在while循环中速度很慢,我使用了大小为8192的