Javascript 在音频播放时触发AJAX请求

Javascript 在音频播放时触发AJAX请求,javascript,jquery,ajax,Javascript,Jquery,Ajax,我正在寻找一种最好的方式来记录播放页面中嵌入的音频文件。我的第一反应是在按下播放按钮时尝试发出AJAX请求 我在看比赛,相信这就是我所追求的比赛。这是正确的吗?我还担心它可能会在每次按下播放按钮时触发AJAX请求,而不仅仅是第一次(例如,如果它们暂停并取消暂停),这可能会导致日志倾斜 这是文档为媒体事件提供的侦听器示例: var v = document.getElementsByTagName("video")[0]; v.addEventListener("seeked", function

我正在寻找一种最好的方式来记录播放页面中嵌入的音频文件。我的第一反应是在按下播放按钮时尝试发出AJAX请求

我在看比赛,相信这就是我所追求的比赛。这是正确的吗?我还担心它可能会在每次按下播放按钮时触发AJAX请求,而不仅仅是第一次(例如,如果它们暂停并取消暂停),这可能会导致日志倾斜

这是文档为媒体事件提供的侦听器示例:

var v = document.getElementsByTagName("video")[0];
v.addEventListener("seeked", function() { v.play(); }, true);
v.currentTime = 10.0;
但我如何将其集成到以下代码中:

<audio id="123" controls>
    <source src="../uploads/filename.mp3" type="audio/mpeg">
</audio>

我尝试了以下几点,但似乎什么都没有发生:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script type="text/javascript">
    $(document).ready(function() {
        $('audio').each(function() {
            var id = $(this).attr('id');
            $(this).addEventListener("playing", function() {
                alert(id);
            });
        });
    });
</script>

$(文档).ready(函数(){
$('audio')。每个(函数(){
var id=$(this.attr('id');
$(this).addEventListener(“播放”,函数(){
警报(id);
});
});
});

当媒体播放开始、恢复或重新启动时,“播放”事件被触发

确保事件只处理一次的最简单方法是删除事件处理函数中的事件侦听器

function oneTimeEventHandler(e) {
  // remove this handler
  e.target.removeEventListener(e.type, arguments.callee);
  // now handle the event
  alert("This event will only be handled once!");
}
代码笔示例:

媒体播放开始、恢复或重新启动时,会触发“播放”事件

确保事件只处理一次的最简单方法是删除事件处理函数中的事件侦听器

function oneTimeEventHandler(e) {
  // remove this handler
  e.target.removeEventListener(e.type, arguments.callee);
  // now handle the event
  alert("This event will only be handled once!");
}
代码笔示例:

关于活动:

当音频/视频已启动或不再>暂停时,将发生播放事件

播放事件发生在音频/视频播放结束后 已暂停或停止缓冲

您可以在

对于只触发一次事件,您可以使用jquery的
.one()
函数:

说明:

将处理程序附加到元素的事件。这个 每个事件类型的每个元素最多执行一次处理程序

比如:


关于活动:

当音频/视频已启动或不再>暂停时,将发生播放事件

播放事件发生在音频/视频播放结束后 已暂停或停止缓冲

您可以在

对于只触发一次事件,您可以使用jquery的
.one()
函数:

说明:

将处理程序附加到元素的事件。这个 每个事件类型的每个元素最多执行一次处理程序

比如:


不要认为您想要播放事件-只有在缓冲问题后文件再次准备就绪时才会触发播放事件。从您的文档链接:“播放事件在由于缺少数据而暂停或延迟后准备开始播放时触发。”。“游戏”活动就是你想要的。“播放事件在播放开始时触发。”。不要认为您想要播放事件-只有在缓冲问题后文件再次准备就绪时才会触发播放事件。从您的文档链接:“播放事件在由于缺少数据而暂停或延迟后准备开始播放时触发。”。“游戏”活动就是你想要的。“播放事件在播放开始时触发。”。