Исходный код

ь у меня есть эти библиотеки:Запросы, pyglet, pyaudio

Как я могу воспроизвести аудиопоток, используя, например, изэто сайт без сохранения его в файл (используя буферизацию)?

В документации этой библиотеки содержится противоречивая информация о классе StreamingSource

Когда я помещаю информацию в байтах в объект StreamingSource (source.get_audio_data (DATA)) и после этого помещаю эту информацию в проигрыватель (pyglet.media.Player ()), она выдает исключение, которое говорит, что StreamingSource не имеет длительность атрибута

Код:

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)

Проследить:

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'

Ответы на вопрос(0)

Ваш ответ на вопрос