Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用aiohttp流式传输m4a_Python_Stream_Aiohttp_M4a_Pafy - Fatal编程技术网

Python 使用aiohttp流式传输m4a

Python 使用aiohttp流式传输m4a,python,stream,aiohttp,m4a,pafy,Python,Stream,Aiohttp,M4a,Pafy,Js音频播放器和M4存在问题 你好!!我正在尝试用python aiohttp流式传输m4a文件,并在浏览器中用一些html5播放器播放,如audio.js、Plyr。我的问题是,只有当浏览器获取整个文件时,它才会开始播放。webm音频没有问题,只有m4a。有正确的方法吗 async def stream2(request): fp = 'm.m4a' f = open(fp, 'rb') size = os.path.getsize(fp) res = web.StreamRe

Js音频播放器和M4存在问题

你好!!我正在尝试用python aiohttp流式传输m4a文件,并在浏览器中用一些html5播放器播放,如audio.js、Plyr。我的问题是,只有当浏览器获取整个文件时,它才会开始播放。webm音频没有问题,只有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)
var pl=$('').attr('src','/audio.m4a?vid='+data.id);
pl.attr('id','player');
pl.attr('data-plyr-config','{“autoplay”:true}');
pl.attr(“预加载”、“自动”);
var cont=$(“#playercontainer”);
cont.empty();
续追加(pl)

问题已解决。我编写自定义http 206部分内容

请提供控制器代码,以便更好地了解如何解决此问题。