我正在尝试使用音频的 HTML DOM 持续时间属性设置音频标签的持续时间。
我已尝试以下方法,但似乎不起作用:$('audio')[0].duration = 1;
我已经浏览了其他答案,但我看不到任何使用持续时间属性的答案。
如果持续时间属性是只读的,它还给我留下了什么其他方法?
您无法更改持续时间,因为它被锁定到原始数据(无法通过音频元素更改)。
您可以通过监视时间并在阈值启动时暂停音频来限制播放,从而实现不同持续时间的错觉:
- Use the timeupdate event http://www.w3.org/2010/05/video/mediaevents.html并检查
currentTime
反对你的门槛
- 您还可以使用requestAnimationFrame https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame轮询相同的值并进行相同的检查
- 或者,为了获得超准确的计时,您需要使用网络音频API https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API,为音频创建一个音频缓冲区,然后使用首选时间的开始/停止。这将需要满足 CORS 要求
在加载方面,浏览器可能会加载整个文件。如果你想控制这部分你必须使用媒体源扩展 https://w3c.github.io/media-source/它允许您控制缓冲过程。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)