HTML 音频 - 使用 jQuery 检测位置
Posted
技术标签:
【中文标题】HTML 音频 - 使用 jQuery 检测位置【英文标题】:HTML Audio - Detecting position with jQuery 【发布时间】:2012-04-30 09:39:51 【问题描述】:在使用 html5 音频标签有一个 eventListener 或使用 Dom/jQuery 的操作来在播放期间或结束时触发一个事件时是否有?
Thisanswer 链接到 currentTime 但没有示例,下面是伪代码。
<!DOCTYPE html>
<html>
<body>
<audio controls="controls">
<source src="file.ogg" type="audio/ogg" />
<source src="file.mp3" type="audio/mpeg" />
Your browser does not support the audio element.
</audio>
<script src="jquery.js"></script>
<script>
$(document).ready(function ()
$("audio").addEventListener("end", function ()
alert("song has ended");
);
$("audio").addEventListener('20.2', function ()
alert("your currently at 20.2 seconds in the track");
);
);
</script>
</body>
</html>
【问题讨论】:
我也看到了这篇文章,***.com/questions/9830375/… - 在随机位置启动 HTML5,您可以在整个网站上看到一些与这篇文章相关的好代码(点击右下方的链接),我确保你能找到一些好的 sn-ps 并制作一个很好用的简单脚本。 mindovermeta.com/2010/08/… 和这个网站mindovermeta.com/demos/html5audio.php?step=2 - 也是我需要的很好的例子。请查看它们和本页上的其他链接 - 信息足够多 【参考方案1】:你可以试试这个:
获取音频的持续时间并根据 currentTime 发出警报,并在需要的地方显示警报。
audio.addEventListener("timeupdate", function()
var duration = document.getElementById('duration');
var s = parseInt(audio.currentTime % 60); var m = parseInt((audio.currentTime / 60) % 60);
duration.innerHTML = m + '.' + s + 'sec';
, false);
【讨论】:
我对这两种回答都很满意,但我不能投票给 ATM 上的回答。因此,我将这个标记为答案,另一个帖子也显示了干净的代码但无法代表。 不错的答案。我正在寻找如何在指定播放范围并且已达到范围末尾时检测某种“结束”事件。您的回答提供了解决方案。谢谢。【参考方案2】:您可以使用ended
事件:
$("audio").on("ended", function()
// do stuff
);
【讨论】:
有duration函数吗? 我不相信有 - 至少没有一个你可以告诉在播放的特定点开火。 这是一个有用的答案和干净的代码块,我已经回来给你一个加分代表。抱歉,它的价值很小,但我们非常感谢您的帮助。以上是关于HTML 音频 - 使用 jQuery 检测位置的主要内容,如果未能解决你的问题,请参考以下文章