Javascript 谷歌浏览器音频搜索和缓冲
当尝试播放MP3文件时,Google Chrome首先从开始加载音频文件到搜索点,然后才从搜索点开始播放。如何告诉Chrome禁用缓冲无用的音频文件,并立即从查找点播放音频,而不从一开始就进行缓冲 我在根Javascript 谷歌浏览器音频搜索和缓冲,javascript,html,google-chrome,audio,Javascript,Html,Google Chrome,Audio,当尝试播放MP3文件时,Google Chrome首先从开始加载音频文件到搜索点,然后才从搜索点开始播放。如何告诉Chrome禁用缓冲无用的音频文件,并立即从查找点播放音频,而不从一开始就进行缓冲 我在根正文中有一个音频标签。除了id-无src,类型等之外,没有任何属性-完全为空音频标签 我有很多播放器(角度指令),它们使用这个音频标签进行播放(因此,当我导航到其他站点的页面时,音频不会停止) 每个播放器都有自己的seekbar-我可以随时单击seekbar启动音频。在所有最新浏览器中,音频播放
正文
中有一个音频
标签。除了id
-无src
,类型
等之外,没有任何属性-完全为空音频
标签
我有很多播放器
(角度指令),它们使用这个音频
标签进行播放(因此,当我导航到其他站点的页面时,音频不会停止)
每个播放器
都有自己的seekbar-我可以随时单击seekbar启动音频。在所有最新浏览器中,音频播放会立即开始。。。嗯,不在Chrome中-Chrome首先从开始到搜索点预加载丢失的音频块,然后才播放音频
下面是我提出的一些请求的屏幕截图-Chrome和FF(这里每个播放器都被设置为currentTime
在seekbar中从25:01分钟开始播放):
Chrome首次获取请求(当audio
标记获取src
属性时):
Chrome second GET请求(当audio
标记将currentTime
设置为25分钟时):
Firefox首先获取标题(当audio
标记获取src
属性时):
Firefox第二次获取请求(当audio
标记将currentTime
设置为25分钟时):
因此,当audio
获取src
时,它会发送第一个GET请求来加载一些元数据和其他信息。然后,由于音频currentTime
change,它发送第二个GET请求
默认情况下,Chrome总是在第一次请求时发送«Range:bytes=0-»头,任何东西都不能改变它。(FF通过第一个请求发送«范围:字节=491520-»。)
那么,我做错了什么?也许我需要服务器响应中的更多标题?:) 我认为这是Chrome的回归,就我们团队今天/昨天在最新的Chrome stable版本中所知,这已经被打破了 如果你看看SoundCloud,它今天也有这个问题
以前,如果音频文件中有Xing头,它会修复它并正确查找,但它停止工作。在Chrome Canary版本47中,它的行为相同:(