Youtube嵌入式视频开始/停止事件

Ace*_*kov 4 javascript youtube youtube-api

我想知道,通过iframe嵌入youtube视频是否会暴露某些事件,比如onStart或onStop,你可以指定一些回调?

Wil*_*ilk 9

这是一个处理启动和停止事件的示例:

HTML文件(index.html):

<!DOCTYPE html>
<html>
    <head>
        <title>Stackoverflow</title>
        <script type="text/javascript" src="http://www.youtube.com/player_api"> </script>
        <script type="text/javascript" src="sof.js"> </script>
    </head>
    <body>
        <div id="player"></div>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

和JavaScript(sof.js):

var player;
// This function creates an <iframe> (and YouTube player)
// after the API code downloads.
function onYouTubePlayerAPIReady() {
    player = new YT.Player('player', {
        height: '390',
        width: '640',
        videoId: 'u1zgFlCw8Aw',
        events: {
            'onStateChange': function (event) {
                switch (event.data) {
                    case -1:
                        console.log ('unstarted');
                        break;
                    case 0:
                        console.log ('ended');
                        break;
                    case 1:
                        console.log ('playing');
                        break;
                    case 2:
                        console.log ('paused');
                        break;
                    case 3:
                        console.log ('buffering');
                        break;
                    case 5:
                        console.log ('video cued');
                        break;
                }
            }
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

对于每种情况,您都可以设置处理程序.

有关详细信息:

  1. YT Player入门
  2. YT Javascript API事件