寻求不使用HTML5音频标记
问题描述:
我有一个本地运行的lighttpd服务器。如果我在服务器上加载一个静态文件(通过html5音频标签),它播放和寻求罚款。寻求不使用HTML5音频标记
但是,运行开发服务器(web.py/CherryPy)时寻找不起作用,或者如果我通过定义的动作url而不是静态文件返回字节。它也不会加载持续时间。
根据this Opera Page中的“HTTP字节范围请求”部分,这与支持字节范围请求/部分内容响应有关。内容被视为流式传输。
我不明白的是:
- 如果浏览器下载它肯定可以显示时间整个文件,并且它肯定可以寻求。
- 我需要在Web服务器上启用字节范围请求(对于非静态url)。
任何意见将非常感激地收到。
答
这里的指针是您获得开始有些web.py代码(正好需要这也跑进你的问题):
## experimental partial content support
## perhaps this shouldn't be enabled by default
range = web.ctx.env.get('HTTP_RANGE')
if range is None:
return result
total = len(result)
_, r = range.split("=")
partial_start, partial_end = r.split("-")
start = int(partial_start)
if not partial_end:
end = total-1
else:
end = int(partial_end)
chunksize = (end-start)+1
web.ctx.status = "206 Partial Content"
web.header("Content-Range", "bytes %d-%d/%d" % (start, end, total))
web.header("Accept-Ranges", "bytes")
web.header("Content-Length", chunksize)
return result[start:end+1]