Потоковое m4a с aiohttp - PullRequest
       28

Потоковое m4a с aiohttp

0 голосов
/ 03 января 2019

Js аудио плееры и проблема m4a

Hello! Я пытаюсь транслировать файлы m4a с помощью python aiohttp и воспроизводить его в браузере с помощью некоторых html5-плееров, таких как audio.js, Plyr. Моя проблема в том, что он начинает играть только тогда, когда браузер получает весь файл. Нет проблем с WebM Audio, только M4A. Есть ли правильный способ сделать это?

async def stream2(request):
  fp = 'm.m4a'
  f = open(fp, 'rb')
  size = os.path.getsize(fp)
  res = web.StreamResponse(headers={'Content-type': 'audio/m4a', 'CONTENT-LENGTH': str(size)})
  await res.prepare(request)

  while True:
    datt = f.read(1024*32)
    if not datt: break
    await res.write(datt)

  return res

Js код:

var pl=$('<audio>').attr('src', '/audio.m4a?vid='+data.id);
pl.attr('id', 'player');
pl.attr('data-plyr-config', '{"autoplay": true}');
pl.attr('preload', 'auto');
var cont=$('#playercontainer');
cont.empty();
cont.append(pl)

1 Ответ

0 голосов
/ 04 января 2019

Проблема решена. Я пишу свой пользовательский http 206 частичное содержимое

...