网络中断后,我可以在javascript / html中预加载音频文件并播放它吗?

高格里拉

我试图找出如何将多个音频文件预加载到浏览器中,并且在失去网络连接后仍然可以使用它们(当然,在预加载文件时取得了最初的成功之后)。

预加载多个音频文件

到目前为止,它是我最喜欢的方法,而且易于阅读。下面的代码基本上是从那里开始的。但是因为它与播放器中的新Audio()然后是audio.src一起使用,所以即使所有预加载了播放器,并且仍然收到以下错误消息,播放器仍然尝试与src检查:

GET http://xxxxx.com/sound.mp3 net :: ERR_INTERNET_DISCONNECTED

未捕获(按承诺)DOMException:由于找不到受支持的源而无法加载。

因为播放器(ID为“ player”的html音频)试图播放如下声音:

function play(index) {
player.src = audioFiles[index];
player.play();
}

它使用src,在这种情况下是网络路径。和预加载器功能一样:

function preloadAudio(url)
{
  var audio = new Audio();
  // once this file loads, it will call loadedAudio()
  // the file will be kept by the browser as cache
  audio.addEventListener('canplaythrough', loadedAudio, false);
  audio.src = url;
}

我很想让用户立即预加载所有声音文件,并让他们可以在播放声音的同时退出网络连接。

我可以在预加载到播放器随后引用的某种类型的对象的同时加载文件吗?还有另一种方法可以做到这一点吗?

本西

我认为只要您audio.src在连接断开后不进行更改,就可以了。因此,您要预加载的每个文件都需要一个音频元素。也许:

var audioPlayers = audioFiles.map( file => {
    var audio = new Audio();
    audio.src = file;
    return audio;
})

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在JavaScript中同步播放音频文件?

Android MediaPlayer可以播放压缩文件中的音频吗?

我可以在Android Wear上播放音频文件吗?

使用Javascript / jQuery一次播放一个HTML音频文件

播放或暂停音频文件(的onkeydown)用JavaScript

可以播放音频文件或流吗?

我们可以使用Google Assistant中的对话框实现网络钩子播放多个音频文件吗

从JavaScript中的字符串播放音频文件

您可以在Bixby上播放MP3 /音频文件吗?

在qb64中加载音频文件时可以加载条或百分比

在Twilio中,您可以从提供的传入URL列表中<Play>随机音频文件吗?

是否可以在android / ios / flutter中同时播放多个音频文件?

在不使用输入类型文件的情况下在“我的应用”中播放本地音频文件

在html5中,我可以强制浏览器下载我正在使用的音频文件吗?

如何批量检查音频文件可以播放

我可以在Linux上使用vlc将音频文件转换为m4a,以便在iPad / iPhone上播放吗?

如何播放存储在我的应用程序数据文件夹中的音频文件?

加载多个音频文件,即使互联网连接不佳也可以同时播放

我可以使用哪个播放器来重复音频文件的特定部分?

QMediaPlayer可以播放.wav音频文件吗?

被信号中断后可以读取系统调用体验短计数吗?

在 Chrome 中预加载多个 (798) 音频文件

Javascript:如何加载更新的音频文件并播放

如何使用javascript随机播放音频标签中的多个音频文件?

在android中是否可以通过电话播放音频文件并且接收器应该听到它?

通过 Python Flask 网络服务器播放保存在本地驱动器中的音频文件

我可以让 html 视频自动播放和预加载吗?

如何在没有外部音频文件/html文件的情况下在javascript中播放声音?

Javascript无延迟地播放无限循环音频文件