等待 HTML5 视频加载

2023-12-07

我有一个视频标签,当我让用户从数据库中的多个视频中进行选择时,我会动态更改其来源。问题是,当我更改 src 属性时,即使我告诉它,视频也不会加载。

这是我的代码:

$("#video").attr('src', 'my_video_'+value+'.ogg');
$("#video").load();
while($("#video").readyState !== 4) {
    console.log("Video is not ready");
};

代码仍然处于无限循环中。

有什么帮助吗?

EDIT:

伊恩·德夫林:

//add an listener on loaded metadata
v.addEventListener('loadeddata', function() {
    console.log("Loaded the video's data!");
    console.log("Video Source: "+ $('#video').attr('src'));
    console.log("Video Duration: "+ $('#video').duration);
}, false);

好的,这是我现在的代码。源代码打印得很好,但我仍然无法获得持续时间:/


你实际上并不需要 jQuery,因为有一个媒体API这为您提供了您所需要的一切。

var video = document.getElementById('myVideo');
video.src = 'my_video_' + value + '.ogg';
video.load();

媒体 API 还包含load()方法:“导致元素重置并开始从头开始选择和加载新的媒体资源。”

(Ogg 不是最好的格式,因为它仅受有限数量的浏览器支持。我建议使用 WebM 和 MP4 来覆盖所有主要浏览器 - 您可以使用canPlayType()函数来决定玩哪一个)。

然后您可以等待loadedmetadata or loadeddata(取决于你想要什么)要触发的事件:

video.addEventListener('loadeddata', function() {
    // Video is loaded and can be played
}, false);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

等待 HTML5 视频加载 的相关文章

随机推荐

  • php 5.1.6 json_encode 和 codeigniter

    我正在构建一个 codeigniter 应用程序 它在很多地方使用 json encode 提供 ajax 数据 今天我了解到服务器有 php 5 1 6 它不支持此方法 或 json decode 我能做什么 请帮忙 有一个 json e
  • Char 数组初始化时出错

    它可能很简单 但我对 c 很陌生在 char 数组中 我们可以让编译器计算字符串中的字符数 例如 char myarray stringvar 没关系 但是如果我按如下方式更改代码 编译器会给出错误 string myvar stringv
  • 为什么模拟器不能在android中发送电子邮件

    我正在寻找从我的 Android 应用程序发送电子邮件的代码 我用谷歌搜索并读到给出的代码不会在模拟器上运行 我必须将代码放在实际设备上才能发送电子邮件 为什么会这样呢 先感谢您 这可能会有所帮助Android 电子邮件意图 如果您使用模拟
  • Polly 在重试时更改查询字符串

    我正在使用 NET 5 并希望使用 Polly 来更改重试时请求的查询字符串 背景 我的 IP 地址允许每分钟发出固定的请求配额 如果超出限制 我会收到特定的 4xx 状态代码 在本例中 我想添加一个查询字符串参数 key xxx来处理峰值
  • JTextArea位置,setBounds不起作用?

    我想要一个JTextArea在某个位置上 我尝试了几件事 比如使用不同的LayoutManagers no LayoutManager无论如何 setLayout null 等等 无论我做什么 似乎setBounds setLocation
  • magento 网站迁移后 CSS 不加载

    我按照描述的步骤将我的 magento 网站迁移到不同的服务器here 一切都很顺利 除了当我加载页面时 CSS 不会加载 而且我只是以纯文本形式获取页面 我使用 firebug 并注意到系统用于获取 CSS 文件的路径在 FTP 服务器中
  • 在 BST 中查找所有小于 x 的数字

    我该怎么做 我不确定什么时候才能停止 bst 搜索 如果树的每个节点都有一个字段numLeft它告诉你它的左子树中有多少个节点 也计算它自己 然后你可以这样做O log N 继续添加即可numLeft对于每个值小于的节点的全局结果变量x c
  • 如何将 char* 转换为 TCHAR[ ]? [复制]

    这个问题在这里已经有答案了 char stheParameterFileName argv 1 I m passing the file name as a parameter TCHAR szName 512 我怎样才能转换char to
  • 大 og:提要中的图像

    我注意到 Facebook 有两种不同的方式在用户的提要中显示带有图像的开放图谱故事 一种是带有小图像以及旁边的标题和描述 example 一张带有更大的图像 其下方有标题和描述 example 按照教程 我能够生成大图像 然而 现在我要离
  • VBA复制网站数据

    有人可以帮助我指出如何通过 VBA 将特定数据从网站复制到 Excel 工作表的正确方向吗 我尝试使用宏记录器和网络查询 但它不断显示错误脚本 并且黄色箭头没有出现在我想要复制的部分 这是我要复制的网站http etfdb com etf
  • @googlemaps/markerclusterer:如何设置 maxZoom?

    我试图弄清楚如何设置 maxZoom 属性 我找到了可接受的参数列表 new MarkerClusterer map markers algorithm renderer onClusterClick 所以 我不想实现我自己的算法 我觉得默
  • PyQt4 - 将文件拖放到 QPushButton 中

    我认为标题是相当不言自明的 我正在努力创建一个小型独立应用程序 要求用户将音频文件拖放到按钮上 然后使用文件路径等将文件与硬件上的相应按钮关联起来 我已经遵循了大量的小部件拖放教程 我的朋友也遵循了列表的拖放教程 但是我开始相信这不能为按钮
  • 在单个链表中的任意索引处插入新节点

    我将如何创建一个函数 允许我在链表中 的任何索引处插入新节点 这是结构 struct node int data struct node next 这是函数 注意只有一个双指针 索引和数据参数 void insertN struct nod
  • “填充无效且无法删除”-这段代码有什么问题吗?

    每次我运行这个并加密时 输出都是可变的 当我尝试解密时 我收到 填充无效且无法删除 已经和这个斗争了一两天了 我很茫然 private static string strIV abcdefghijklmnmo The initializat
  • Break D3 每个循环没有标志

    考虑以下代码 circle each function d code 我怎样才能打破循环 是否有一种自然的 D3 方法可以打破 every 循环 我的意思是没有标志如下 var flag false circle each function
  • 如何在 dplyr 中对将 NA 放在第一位进行排序? [复制]

    这个问题在这里已经有答案了 考虑以下示例 require tibble require dplyr set seed 42 tbl lt data frame id letters 1 10 val c runif 5 NA runif 4
  • 致命错误:找不到“Google_Auth_AssertionCredentials”类

    我正在尝试将旧的 google api 迁移到新的 api 这样我就可以获取 google 分析数据 我正在尝试与this示例 但它会引发此错误 致命错误 找不到类 Google Auth AssertionCredentials 示例 p
  • ReactJS中的渲染函数

    快问 我正在学习react js 当我们创建组件时 我们在渲染函数中提供要渲染的组件的 html 模板 到目前为止 我只看到了带有非常小的 html 片段的小组件 但我只是想知道如果我们有一个带有巨大 html 模板的组件会发生什么 有没有
  • Core 3.0 更新后 Azure 函数停止工作

    该代码在 Core 3 0 Preview7 版本中工作 但更新到 3 0 Azure 函数后开始出现错误 如果我尝试访问构建器服务对象 则会出现错误 也无法调试问题 还尝试更新 Microsoft Extensions Dependenc
  • 等待 HTML5 视频加载

    我有一个视频标签 当我让用户从数据库中的多个视频中进行选择时 我会动态更改其来源 问题是 当我更改 src 属性时 即使我告诉它 视频也不会加载 这是我的代码 video attr src my video value ogg video