Android-在互联网掉线时继续使用HTML5 JavaScript播放音频-Fetch,Blob

时间:2018-11-20 03:11:22

标签: javascript html5 audio preload

我想预加载整个mp3文件,以便当Internet断开时该页面在计算机和移动设备上都能正常工作。我找到并尝试了以下代码,这些代码似乎可以在Windows 7桌面上运行,但不能在Android上运行。 Android不会在fetch语句上失败,但是似乎在“ .then(r => r.blob())”语句上失败。应该先声明r吗?为什么android失败的任何想法。我无法访问Android控制台。

fetch("https://foo.com/foo2/foo4.mp3")
.then(r => r.blob())   // could be xhr.responseType = 'blob'
.then(blob => {
aud = new Audio(URL.createObjectURL(blob));
document.body.appendChild(aud);
console.log('Fully loaded and cached until the page dies...')   
});

1 个答案:

答案 0 :(得分:0)

有一个preload属性,您可以尝试`

预加载

  

此枚举属性旨在向浏览器提供提示   关于作者认为将带来最佳用户体验的信息。它   可能具有以下值之一:

     
      
  • 无:指示不应预加载音频。
  •   
  • 元数据:表示仅提取音频元数据(例如长度)。
  •   
  • 自动:表示可以下载整个音频文件,即使不希望用户使用也可以下载。空的   字符串:自动值的同义词。
  •   
     

如果未设置,则预加载为默认值   值是浏览器定义的(即每个浏览器可能都有其自己的默认值   值)。规范建议将其设置为元数据。