javascript - 如何设置音频的持续时间

标签 javascript jquery html5-audio

我正在尝试使用音频的 HTML DOM 持续时间属性设置音频标签的持续时间。

我尝试了以下方法,但似乎不起作用: $('audio')[0].duration = 1;

我已经查看了其他答案,但我看不到任何使用 duration 属性的答案。

如果 duration 属性是只读的,我还能使用什么其他方法?

最佳答案

您不能更改持续时间,因为它被锁定到原始数​​据(不能通过音频元素更改)。

您可以通过监控时间限制播放并在达到阈值时暂停音频来实现不同持续时间的错觉:

  • 使用timeupdate event并根据您的阈值检查 currentTime
  • 您也可以使用 requestAnimationFrame轮询相同的值并进行相同的检查
  • 或者,对于超精确计时,您需要使用 Web Audio API ,为音频创建一个音频缓冲区,然后使用首选时间开始/停止。这将需要满足 CORS 要求

在加载端,浏览器可能会加载整个文件。如果你想控制这部分你必须使用 Media Source Extension这允许您控制缓冲过程。

关于javascript - 如何设置音频的持续时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30697618/

相关文章:

javascript - 如何摆脱 Aptana 中 javascript 文件中的幻像断点?

javascript - 输入 5 个字符后如何定位输入?

android - 选择在 android 2.2 中不起作用

javascript - Onchange 里面 onchange jquery

php - HTML5 Audio Element "src = get.php 不能跳过位置

javascript - 通过ajax从输入获取变量到外部php

javascript - 从另一个函数停止函数执行

firefox - 为什么 html 5 音频标签在 FF 上不起作用?

jquery - 防止文本超出包含的 <div>

Javascript HTML5 音频 - 在 addEventListener 中为歌曲引用哪个函数?