使用jQuery将音频播放限制为仅特定的持续时间

Restrict the audio playback for only certain duration of time using jQuery

本文关键字:持续时间 jQuery 音频 播放 使用      更新时间:2023-09-26

我有一个用例,需要在单击元素时播放音频。音频播放得很好,但持续时间比我想象的要长一点。我希望它在几秒钟后暂停(停止)。我可以提醒持续时间,我还尝试应用停止和/或暂停方法,但这两种方法都不起作用。对此有什么想法吗?我敢肯定你们中的一些人可能遇到过这样的情况。这是我的密码。

jQuery

var audioElement = document.createElement('audio');
        audioElement.setAttribute('src', 'sound/crack.mp3');
        $('#thanksBanner').click(function() {
        audioElement.play();
        });
        audioElement.addEventListener("loadedmetadata", function(_event) {
        var duration = audioElement.duration;
        //TODO whatever
        var ourDuration = duration - 1.5;
        if (duration > ourDuration) {
           audioElement.pause();
           alert(duration);
        };
    });

您必须监听timeupdate事件,该事件在当前播放位置发生变化时触发。并检查事件处理程序中的位置。

var audioElement = document.createElement('audio');
audioElement.setAttribute('src', 'sound/crack.mp3');
$('#thanksBanner').click(function() {
    audioElement.play();
    setInterval(function() {
});
audioElement.addEventListener('timeupdate', function() {
    var t = audioElement.currentTime;
    if (t > audioElement.duration - 1.5) {
        audioElement.pause();
        alert(t); //can be removed once it works.
    }
};