¿Cómo puedo reproducir audio sin guardarlo en el archivo con pyglet?
Ahora tengo estas bibliotecas:peticiones, pigmeo, pyaudio
¿Cómo puedo reproducir una transmisión de audio usando unos, por ejemplo, deesta sitio sin guardarlo en el archivo (utilizando el almacenamiento en búfer)?
Hay una información confusa en la documentación de esta biblioteca sobre una clase StreamingSource
Cuando inserto la información en bytes en el objeto StreamingSource (source.get_audio_data (DATA)) y luego inserto esta en un reproductor (pyglet.media.Player ()) arroja una excepción, que dice que StreamingSource no ha duración del atributo
Código:
import pyglet, requests
req = requests.get('http://ic7.101.ru:8000/c15_3', stream=True)
player = pyglet.media.Player()
source = pyglet.media.StreamingSource()
CHUNK = 1024
for num, chunk in enumerate(req.iter_content(CHUNK)):
if num == 1000:
break
source.get_audio_data(chunk)
if num == 100:
player.queue(source)
player.play()
pyglet.app.run()
pyglet.clock.schedule_once(lambda dt: pyglet.app.exit(), source.duration)
Rastrear:
Traceback (most recent call last):
File "/home/user/.PyCharmCE2017.1/config/scratches/scratch.py", line 16, in <module>
player.queue(source)
File "/usr/local/lib/python3.5/dist-packages/pyglet/media/__init__.py", line 978, in queue
group.queue(source)
File "/usr/local/lib/python3.5/dist-packages/pyglet/media/__init__.py", line 698, in queue
self.duration += source.duration
TypeError: unsupported operand type(s) for +=: 'float' and 'NoneType'