【发布时间】:2020-02-18 10:32:09
【问题描述】:
如何在音频/视频开始时添加监听器?
我可以这样做:
$audio.on("play", function() {
console.log("audio played");
});
其中 $audio 是代表单个 DOM 音频元素的 jQuery 对象。
但是当我们恢复视频时它也会运行。我希望它只在启动时运行。
我可以做到的一种方法是:
$audio.on("play", function() {
if(this.currentTime === 0) {
console.log("audio started);
}
});
但是当我们开始播放/暂停音频时,它会运行多次。
有没有更好的方法来做到这一点?侦听器应仅在音频开始和音频重放时工作,不当用户手动将搜索栏拖到源的开头时。
【问题讨论】:
-
var started=false;- 剩下的留给你自己计算 -
您使用
currentTime的方法有效:jsfiddle.net/RoryMcCrossan/8g4sfj62 我不确定问题出在哪里。即使用户手动将音频跟踪到源的开头,您是否只想触发一次“开始”事件? -
@freedomn-m 我可以在同一页面上拥有 n 个玩家。所以,不想维护这些变量。
-
@RoryMcCrossan 是的,它工作正常。我只是假设假设用户在一秒钟内多次单击播放/暂停。所以,我一直在寻找只在媒体启动而不是播放时才有效的东西。
-
@ankur_rajput 请-edit您的问题。试着清楚地说明你真正想要什么。目前看来你完全糊涂了。
标签: javascript jquery html html5-video html5-audio