【问题标题】:HTML Audio - Detecting position with jQueryHTML 音频 - 使用 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>

【问题讨论】:

标签: javascript jquery html dom audio


【解决方案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函数吗?
  • 我不相信有 - 至少没有一个你可以告诉在播放的特定点开火。
  • 这是一个有用的答案和干净的代码块,我已经回来给你一个加分代表。抱歉,它的价值很小,但我们非常感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-13
  • 1970-01-01
  • 2014-01-01
  • 2013-09-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多