javascript - jQuery确定音频是否已完成播放并在此之后触发功能

标签 javascript jquery audio

我已经从JavaScript文件生成了音频链接,并使用jQuery触发了音频播放。我想在音频结束时触发一个功能。

这是我的HTML。

<div id="audio-holder" class="text-center">

</div>

从javascript对象动态创建元素:
$.each( page15, function( key, value ) {
    $("#audio-holder").append(
          "<span class='word' data-audio-path='"+value.audio+"'>"+value.word+"</span>"
    )});

这是播放器代码:
$( ".word" ).each(function(index) {
     $(this).on("click", function(){
         var audioSrc = $(this).attr("data-audio-path");
         var audioElement = document.createElement('audio');
         audioElement.setAttribute('src', audioSrc);
         audioElement.play();

         // Here goes custom function
     });
});

另一个问题是,如果单击一个单词会播放一个音频,同时单击另一个音频会与先前的音频一起播放。新音频开始时如何停止上一个音频。

最佳答案

您可以检查ended事件,然后执行您的工作。

yourAudio.addEventListener("ended", function(){
     yourAudio.currentTime = 0;
     console.log("ended");
});

关于javascript - jQuery确定音频是否已完成播放并在此之后触发功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61697291/

相关文章:

javascript - cloudformation 部署后脚本

javascript - 方便 "chained"|| (OR) 在液体中的表达

javascript - jQuery 淡入新图像 - 然后继续循环图像列表?

jquery - 背景图片未在 chrome 中加载

android - 自定义语音识别对话框

javascript - 如何防止添加重复的arraylist对象值?

javascript - 比较客户端时间戳和服务器时间戳

jQuery - 重置变量

python - 用于 Python 的简单、跨平台 MIDI 库

linux - Java 在 Windows 上播放音频,但在 Ubuntu 上不播放