预加载多个音频文件

2024-02-10

我的网页上有一个音频控件。我希望用它来根据页面的状态播放多个非常短的音频文件。我不想在播放文件时加载它们。如何在页面加载时加载所有这些文件?

这是我正在做的事情的粗略想法:

http://jsfiddle.net/L0c9ccx9/20/ http://jsfiddle.net/L0c9ccx9/20/

audio.src = ...;
audio.load();
audio.play();

var audioFiles = [
    "http://www.teanglann.ie/CanC/nua.mp3",
    "http://www.teanglann.ie/CanC/ag.mp3",
    "http://www.teanglann.ie/CanC/dul.mp3",
    "http://www.teanglann.ie/CanC/freisin.mp3"
];
    
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;
}
    
var loaded = 0;
function loadedAudio() {
    // this will be called every time an audio file is loaded
    // we keep track of the loaded files vs the requested files
    loaded++;
    if (loaded == audioFiles.length){
    	// all have loaded
    	init();
    }
}
    
var player = document.getElementById('player');
function play(index) {
    player.src = audioFiles[index];
    player.play();
}
    
function init() {
    // do your stuff here, audio has been loaded
    // for example, play all files one after the other
    var i = 0;
    // once the player ends, play the next one
    player.onended = function() {
    	i++;
        if (i >= audioFiles.length) {
            // end 
            return;
        }
    	play(i);
    };
    // play the first file
    play(i);
}
    
// we start preloading all the audio files
for (var i in audioFiles) {
    preloadAudio(audioFiles[i]);
}
<audio id="player"></audio>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

预加载多个音频文件 的相关文章

  • 能够使用 Bootstrap 3 网格系统指定选择元素的宽度

    我有以下内容
  • http和https在编程中有什么区别[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我只知道 s 代表 安全 用户永远不
  • 如何按时间间隔翻转div

    您好 请看这个脚本并告诉我如何按时间间隔翻转 A B 和 C div 我希望A先翻转然后停止 B接下来翻转并停止 然后C然后再次回到A B和C 就像循环一样 然后重新开始 这在 CSS3 中可能吗 在此代码中 所有 div 同时翻转 HOL
  • 如何将本地文本文件上传到文本区域(网页内)

    我是一名新手程序员 需要一些帮助来弄清楚如何将本地文本文件上传到我正在构建的网站内的文本区域 我非常精通 HTML CSS 对 Javascript JQuery 有相当的了解 而且我刚刚学习 PHP 您能提供的任何帮助我将不胜感激 我有一
  • 如何给URL添加变量?

    我正在尝试从网站收集数据 我有一个 Excel 文件 其中包含该网站的所有不同扩展名 F i www example com example2 我有一个脚本可以成功从网站中提取 HTML 但现在我想为所有扩展自动执行此操作 然而 当我说 s
  • pandoc 文档转换失败,错误 67

    我使用的是 R 3 3 2 和 Rstudio 版本 1 0 44 这是我的 RMarkdown 文件的格式 title Sentiment Analysis output rmdformats material highlight kat
  • 使用 ul 和 li 标签选择框

    我想插入 img 每个中的标签
  • HTML - 如何在 HTML 页面上创建递增/递减文本框?

    How can i create a increment decrement text box in HTML Page using jquery or Javascript 我还想设置最大值和最小值 我该如何实现这个目标 简单的 HTML
  • 使用 JavaScript 写入

    我想在页面中打印一条消息 div 页面加载时的元素 我有以下 HTML 和 JavaScript 代码 div div function printMsg var node document getElementById write nod
  • 仅当用户打印时如何重定向到另一个页面

    我一直在尝试找到一种在用户实际打印时重定向到另一个页面的方法 也就是说 只有当他们从打印时打开的选项卡中单击该打印按钮时 我才想重定向 我不想要这种方法 function myFunction window print window loc
  • 使用 z-index 将元素定位在 div 下

    我尝试将一个子 div 放置在其父级元素下方并位于其他元素上方 box1 background color blue width 500px height 100px position relative z index 3 box2 pos
  • Twitter Bootstrap 按钮组控制单选按钮/复选框

    我正在尝试使用Twitter Bootstrap 按钮组 http twitter github com bootstrap javascript html buttons作为一组实际的表单输入控件 默认情况下 这些按钮组的功能类似于单选按
  • HTML5 和 XHTML 1.0 过渡?

    Firefox 3 1 和其他浏览器似乎将 部分 支持 HTML 5 它添加了对视频和音频作为标签的支持 但这些是 XHTML 1 0 Transitional 无法识别的新标签 如果我在未来版本的 Firefox 中使用新的 HTML 5
  • h1、h2、h3.. 元素吃掉 div 边距

    为什么 h1 h2 h3 元素在 div 中的边距会被忽略 http jsfiddle net TzmdZ http jsfiddle net TzmdZ div class col h3 This is header h3 div div
  • 嵌入来自谷歌驱动器的图像,没有灰色边框和缩放工具?

    I have a webpage that has an image that is stored in google drive and using the google drive embed code results in this
  • 获取 HTML 代码的结构

    我正在使用 BeautifulSoup4 我很好奇是否有一个函数可以返回 HTML 代码的结构 有序标签 这是一个例子 h1 Simple example h1 p This is a simple example of html page
  • 在 Chrome 上使用 html5 显示垂直视频

    我正在构建一个简单的page http jsfiddle net JVZGZ 使用 html5 视频标签显示从我的 iPhone 上传的视频 如果您使用 chrome 观看它 您可能会看到该视频是水平呈现的 尽管它不是水平呈现的 尝试下载它
  • 某些网站如何在 iOS Safari 中内嵌播放视频?

    非常令人难以置信 因为我认为所有视频都可以在常规野生动物园中扩展为全屏播放 例如检查一下 https entertainment theonion com the onion reviews rogue one 1819596116 htt
  • 为什么 html 中的 AngularJS 错误没有显示在控制台中?

    Here s a fiddle http jsfiddle net 6y7odxmj 3 用于说明 当 ng click 指令 例如 调用未在控制器的 scope 或其父级 上定义的函数时 它会默默地失败 当我尝试调试网页时 这种行为令人抓
  • 如何使用 JS/Puppeteer 上传文件

    我试图弄清楚如何将图片文件上传到输入对话框中 不可能只输入名称并按 Enter 键 因为我没有找到使用 Puppeteer 实现自动化的方法 我想我必须设置一些值作为图片 但我不知道该怎么做 有任何想法吗 您使用上传文件elementHan

随机推荐

  • MVC2 <%: 标签与 <%= 有何不同

    区别在于 在 MVC2 出现之前 为了对字符串进行 HTML 编码 您必须在视图中使用 Html Encode 方法 然而 在 MVC2 中 他们添加了 根据经验 你应该always使用 查看顾斯科特的博客 http weblogs asp
  • 获取控件相对于整个屏幕的位置?

    假设我有一个 Control 它的位置是相对于它的父级的 如果它嵌入了很多次并且是主窗体的曾曾孙 我如何确定它在整个屏幕上的位置 而不仅仅是它在直接父窗体中的位置 这是为了通过屏幕截图打印特定控件 因为对于某些控件 DrawToBitmap
  • Apple 配置不再适用于 Visual Studio 2022 17.2

    我打算在 Visual Studio 2022 中下载更新的 Apple 开发人员证书和配置文件 新的证书和配置文件位于 Apple 开发者网站中 钥匙串和 Xcode 包含证书 在黄金岁月里 有自动配置在视觉工作室中 苹果决定不再支持这一
  • 使用 EWS 和 OAuth 2 的 Office 365 日历 API

    请参阅底部的编辑 我正在尝试使用 EWS 不是托管 API 使用 Office 365 API 在用户日历上创建 删除 更新事件 到目前为止 我已成功使用基本身份验证来验证我的 SOAP 请求是否有效 我现在尝试用 OAuth 2 替换 B
  • 将根元素添加到 json 响应 (django-rest-framework)

    我正在尝试确定使用 django 和 django rest framework 将根元素添加到所有 json 响应的最佳方法 我认为添加自定义渲染器是实现我想要实现的目标的最佳方法 这就是我到目前为止所想到的 from rest fram
  • 带有颜色选择器编辑器的 JavaFX 表格视图

    我有一个 TableView 它使用 ColorPicker 来 显示 编辑 单元格中的颜色 该表在所需字段中显示 ColorPicker 但编辑不起作用 TableColumn
  • Tag-it onlyAvalaibleTags 选项不起作用

    我使用 tag it 插件https github com aehlke tag it downloads https github com aehlke tag it downloads 如何禁用添加新标签 document ready
  • 使用 NestJS 和 Fastify 时多部分表单数据正文为空

    我们正在迁移自express to fastify in our nestJS应用 这multipart form data后置控制器中支持的 json 正文而不是文件 在迁移后不起作用 我们有typeorm swagger也已插入 如有任
  • 无法在 Visual Studio 2015 中运行 WCF 服务应用程序

    我正在尝试创建我的第一个 WCF 服务应用程序 但无法让它从 Visual Studio 2015 运行 这是我点击运行时出现的错误 我正在遵循教程 我认为他们跳过了一些步骤 但这是我添加到 web config 中的内容
  • InlineUIContainer 问题中的 WPF XAML 按钮单击处理程序

    我有一个 FlowDocument 其中包含一些如下元素
  • WndProc 没有可见的形式?

    我想在第二个线程上创建一个表单 该线程将在其 WndProc 方法中接收消息 创建这样的隐形表单的推荐方法是什么 设置 ShowInTaskbar false 和 Visible false 是否足够 或者是否有 更干净 的方法 我不确定你
  • 鼠标滚轮事件 (C#)

    我无法在主窗体中获取鼠标滚轮事件 作为演示 我想出了一个简单的例子 public partial class Form1 Form public Form1 InitializeComponent this panel1 MouseWhee
  • 使用不同的损失函数恢复训练

    我想实施一个两步学习过程 使用损失函数预训练几个时期的模型loss 1 将损失函数更改为loss 2并继续进行微调训练 目前 我的做法是 model compile optimizer opt loss loss 1 metrics acc
  • 打瞌睡模式处理

    我正在开发一个应用程序 它使用 AlarmManager 在后台生成一些服务 时机对于我们的应用程序非常重要 并且功能不能等待下一个维护窗口的发生 要求用户将应用程序列入白名单不是问题 但不能解决暂停警报的问题 此外 电池消耗也不是一个大问
  • 有没有办法将 Facebook Presto 0.131 与 Cassandra 3.0.0 一起使用?

    使用 Presto 0 131 查询 Cassandra 3 0 0 集群时 我得到 所有尝试查询的主机均失败 snip InvalidQueryException 未配置的表 schema keyspaces 我认为这是由于 Cassan
  • 在 sqlalchemy 中使用 postgresql JSON 类型的列表

    我正在使用金字塔与 sqlalchemy pyramid tm 和 postgresql 来测试这一点 DBSession scoped session sessionmaker extension ZopeTransactionExten
  • XSLT 3.0 流式传输(撒克逊)

    我有一个很大的 XML 文件 6 GB 其中包含这种树
  • 如何在 MAC OSX 中拆分 sql?

    有没有适用于Mac的应用程序可以分割sql文件甚至脚本 我有一个大文件 必须将其上传到不支持超过 8 MB 的文件的主机 我没有 SSH 访问权限 你可以使用这个 http www ozerov de bigdump http www oz
  • 更改查询字符串中的单个变量值[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我得到了一
  • 预加载多个音频文件

    我的网页上有一个音频控件 我希望用它来根据页面的状态播放多个非常短的音频文件 我不想在播放文件时加载它们 如何在页面加载时加载所有这些文件 这是我正在做的事情的粗略想法 http jsfiddle net L0c9ccx9 20 http