我的网站上生成了iframe。 iframe的src是来自数据库的视频ID。我想知道,我怎么能检测到视频播放完毕。 我嵌入了youtube视频:
echo "<iframe width='50%' height='60%' id='cc' src='https://www.youtube.com/embed/" . $data_song[0] . "' frameborder='1' allowfullscreen></iframe><br>";
感谢您的任何建议。
答案 0 :(得分:0)
好的,既然您正在使用iframe来播放YouTube视频,那么您可以通过此方式实现目标,
当Player.Status = 0时,表示视频已停止。我评论过那些让你容易理解的内容。
<script type="text/javascript">
var player;
$(document).ready(function () {
onYouTubePlayerAPIReady();
});
function onYouTubePlayerAPIReady() {
player = new YT.Player('ytplayer', {
events: {
'onStateChange': getStatus
}
});
}
var tag = document.createElement('script');
tag.src = "http://www.youtube.com/player_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
function getStatus() {
var sStatus;
sStatus = player.getPlayerState();
if (sStatus == -1) {} //Video has not started yet
else if (sStatus == 0) {
// video has stopped. This is the event that you want
}
else if (sStatus == 1) { } //Video is playing
else if (sStatus == 2) {} //Video is paused
else if (sStatus == 3) { } //video is buffering
else if (sStatus == 5) { } //Video is cued.
}
</script>
答案 1 :(得分:0)
如果您使用标记<video>
则更好。
例如:
您的HTML
<video id="videoplayer">
。
你的JS
var myvideo = document.getElementById('videoplayer');
myvideo.addEventListener('ended',function() {
// The video's callback
} ,false);