¿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'

Respuestas a la pregunta(1)

Su respuesta a la pregunta