Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是";寻找;事件在HTML音频元素中不起作用?_Javascript_Html_Dom Events_Html5 Audio - Fatal编程技术网

Javascript 是";寻找;事件在HTML音频元素中不起作用?

Javascript 是";寻找;事件在HTML音频元素中不起作用?,javascript,html,dom-events,html5-audio,Javascript,Html,Dom Events,Html5 Audio,我的情况: 我有一个音频元素,通过websocket连接。当我暂停、播放等时,我房间里其他人的音频元素也会这样做 问题是: 通过搜索事件,如果有人玩搜索栏,我会发送数千个WebSocket。因此seek事件是完美的,只是它与seek事件的作用相同 我的问题很简单。音频html元素上的seek事件是否正常工作 因为即使在w3cSchool上,该事件似乎也不起作用。 我做错什么了吗 如果事件无法正常工作,您是否有解决方案来模拟相同的效果?可以使用下面的脚本忽略彼此非常接近的搜索位置 <scr

我的情况:

我有一个音频元素,通过websocket连接。当我暂停、播放等时,我房间里其他人的音频元素也会这样做

问题是:

通过
搜索
事件,如果有人玩搜索栏,我会发送数千个WebSocket。因此
seek
事件是完美的,只是它与seek事件的作用相同

我的问题很简单。音频html元素上的
seek
事件是否正常工作

因为即使在w3cSchool上,该事件似乎也不起作用。

我做错什么了吗


如果事件无法正常工作,您是否有解决方案来模拟相同的效果?

可以使用下面的脚本忽略彼此非常接近的
搜索位置

<script>
var previousseekpos = 0;
var vid = document.getElementById("myVideo");
vid.addEventListener("seeked", function() {
    var currentSeekPos = this.currentTime;
    if( (currentSeekPos - previousseekpos) > 2.0)
    {
       alert("Seek operation completed!");
       previousseekpos = currentSeekPos;
    }
});
</script> 

var previousseekpos=0;
var vid=document.getElementById(“myVideo”);
vid.addEventListener(“seek”,函数(){
var currentSeekPos=this.currentTime;
如果((当前SeekPos-以前SeekPos)>2.0)
{
警报(“搜索操作已完成!”);
previousseekpos=当前SeekPos;
}
});

seek上的
on
事件无法优雅地处理音频控制滚动条中插入符号位置的拖放

onseek
事件在W3学校网站上对我有效。你为什么说它对你不起作用?你用的是哪个浏览器?我用的是ChromeV59。对我来说,当我在搜索栏中移动时,警报框会立即弹出。对我来说,“seek”事件是在我完成查找后触发的,如视频示例中所示:。我是否误解了事件?您可以单击时间栏以移动到新位置。有些人认为拖放不起作用。这就是您想要提到的吗?在第一个示例中,尝试通过“console.log”更改“alert”,您就会理解我的问题。我将alert更改为
alert(“Seek operation completed!”+this.currentTime)并且它在邮件中的时间偏移非常有效。谢谢,但这不是我需要的。这不是一个解决方案,因为如果我只移动1秒,事件将不会被触发,并将破坏我的应用程序。我知道这不是完美的解决方案。这就是为什么我添加了关于拖放行为的注释。您可以调整时间限制,并使用较小的值,如0.5秒。此外,你必须考虑绝对值,因为你可以移动左/右。我已经把这些留给你去实现了。问题和一个较小值的开始是一样的。如果有人从1:00拖动到2:00,我的应用程序将发送60/.05=120个请求,我不希望这样。我只是想知道视频搜索事件是否与音频搜索事件相同,但似乎不是。audio.seek和audio.seek事件执行相同的操作。
<script>
var previousseekpos = 0;
var vid = document.getElementById("myVideo");
vid.addEventListener("seeked", function() {
    var currentSeekPos = this.currentTime;
    if( (currentSeekPos - previousseekpos) > 2.0)
    {
       alert("Seek operation completed!");
       previousseekpos = currentSeekPos;
    }
});
</script>