gpt4 book ai didi

javascript - 使用 addevent 时 VideoJs 自动播放不会触发

转载 作者:行者123 更新时间:2023-11-28 02:44:28 25 4
gpt4 key购买 nike

我按照 videojs 的快速入门指南进行操作并将以下代码放入我的 html 文档正文中:

<video id="video" class="video-js vjs-default-skin" controls width="941" 
height="531" autoplay preload="auto" data-setup="{}">
<source type="video/mp4" src="dummy_url">
</video>

一切正常。自动播放和控制就位。

由于我需要在视频结束时删除视频,因此我将以下代码放在视频标签后面:

<script type="text/javascript">
_V_("video").addEvent("ended", videoEnd);

function videoEnd(){
$('#divId').slideToggle("slow");
setTimeout("$('#divId').remove()", 700);
}
</script>

问题是,每次我尝试检测某些视频时,自动播放都不再起作用。即使以下内容也不会触发自动播放:

<script type="text/javascript">
_V_("video").ready(function(){

var myPlayer = this;

// EXAMPLE: Start playing the video.
myPlayer.play();

});

_V_("video").addEvent("ended", videoEnd);

function videoEnd(){
$('#divId').slideToggle("slow");
setTimeout("$('#divId').remove()", 700);
}
</script>

知道如何保持自动播放并收听结束的事件吗?

最佳答案

嗯,我不确定这是否是最正确的实现,但是:

<video id="video" class="video-js vjs-default-skin" controls 
width="941" height="531" autoplay preload="auto" data-setup="{}">
<source type="video/mp4" src="dummy_url">
</video>

<script type="text/javascript">
interval = setInterval(videoLoaded, 100);

function videoEnd(){
$('#someid').slideToggle("slow");
setTimeout("$('#someid').remove()", 700);
}

function videoLoaded(){
if(!_V_.players.video){
return false;
}

_V_.players.video.play();
_V_.players.video.addEvent("ended", videoEnd);
clearInterval(interval);
}

</script>

据我所知,替代方法是仅通过js加载视频。

这是 videojs 初始化视频对象的方式的问题(根据我的阅读)。更多详情可查看here .

希望它能帮助一些保险杠:)

关于javascript - 使用 addevent 时 VideoJs 自动播放不会触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12132856/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com