Sorry, aber ich habe nicht Python3 hier, zu testen mp3
zu streamen pyaudio
verwenden Sie dekodieren es in PCM-Daten benötigen, weiß ich, dass pymedia kann es tun, aber es ist zu alt und unterstützen nur python27
.
Um dies zu tun, müssen Sie einige Attribute Ihres Audios wissen, wie Samplerate, Anzahl der Kanäle, Bitauflösung, um es im Pyaudio einzustellen.
kann ich zeigen, wie ich es tue mit python27
+ pyaudio
, zuerst werde ich zeigen, wie es .wav
from 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)
wählt große Puffer zu streamen erfolgt, Python in while-Schleife ist langsam, ich habe es Stücke mit der Größe 8192
, beachten sie, dass format
, channels
und rate
die rigth Attribute für diese Datei wav
sind, so dass für .wav
nicht dekodieren brauchen wir, es ist ein PCM
Daten vorhanden sind, jetzt mp3
müssen wir dekodieren und in PCM
Format gebracht zu streamen.
versuchen Lets pymedia
from urllib2 import urlopen
import pyaudio
import pymedia.audio.acodec as acodec
import pymedia.muxer as muxer
dm= muxer.Demuxer('mp3')
pyaud = pyaudio.PyAudio()
srate=44100
stream = pyaud.open(format = pyaud.get_format_from_width(2),
channels = 1,
rate = srate,
output = True)
url = "http://www.bensound.org/bensound-music/bensound-dubstep.mp3"
u = urlopen(url)
data = u.read(8192)
while data:
#Start Decode using pymedia
dec= None
s= " "
sinal=[]
while len(s):
s= data
if len(s):
frames= dm.parse(s)
for fr in frames:
if dec== None:
# Open decoder
dec= acodec.Decoder(dm.streams[ 0 ])
r= dec.decode(fr[ 1 ])
if r and r.data:
din = r.data;
s=""
#decode ended
stream.write(din)
data = u.read(8192)
mit diesem Geheimnis sein kann, weil ich noch nie jemand gesehen zeigt, wie dies in Python getan werden, für python3 ich nichts wissen, die .mp3 in Stücke wie pymedia dekodieren können Sie .
hier diese beiden Codes streming und arbeiten für .wav
und .mp3
Ich denke, Sie müssen einen Weg finden, die Dateien zuerst als mp3 herunterzuladen und sie dann zu spielen, wie Sie zum Beispiel mit pygame erwähnt haben. Download sollte aber der schwierige Teil sein ... Wie würde url = "sound_cloud url" aussehen? Kannst du ein Beispiel geben? Ich hatte etwas wie url = "soundcloud.com/artist/song.mp3" das du einfach benutzen könntest: import os; os.system ('wget' + url) aber ich bezweifle, dass die URL dieses Format hat. – Ohumeronen
Ich brauche es gestreamt werden, sieht die URL wie folgt aus: „https://ec-media.sndcdn.com/cWHNerOLlkUq.128.mp3?f10880d39085a94a0418a7ef69b03d522cd6dfee9399eeb9a522079b6afcbe3bd34f537531708eb245f81c7e0db701476a167319865dd299cf41501b5895e9caee9e3be93d“ irgendein? – LichKing
Ich bekomme "403 - verboten", wenn ich auf diese URL klicke. Sind Sie sicher, dass die URL korrekt ist? – Ohumeronen