检测Youtube iFrame状态更改(播放/结束/等...)

时间:2017-02-20 15:05:27

标签: javascript jquery video iframe youtube

一切都在标题中,我"只是"想要检测我的YouTube iFrame状态何时发生变化。

我使用API​​搜索并显示一组10个视频( youtube.search.list ),所以我得到他们的VideoID然后我用它在iFrame中显示视频(每个视频的 )。所以我没有使用API​​来设置播放器(我尝试但我没有成功)。这是我的代码(只有JS和item.html ):



function tplawesome(e,t){res=e;for(var n=0;n<t.length;n++){res=res.replace(/\{\{(.*?)\}\}/g,function(e,r){return t[n][r]})}return res}

$(function() {
    $("div[class^='play_it']").click(function(e) {
       e.preventDefault();
       // prepare the request
       var request = gapi.client.youtube.search.list({
            part: "snippet",
            type: "video",
            q: encodeURIComponent($(this).attr('id')).replace(/%20/g, "+"),
            maxResults: 10,
            order: "relevance",
            videoSyndicated: "true",
            videoCategoryId: 10
       }); 
       // execute the request
       request.execute(function(response) {
          var results = response.result;
          var i = 0;
          var auto = "1";
          $(".videoss").html("");
          $.each(results.items, function(index, item) {
            $.get("tpl/item.html", function(data) {
            	if (i != 0) {
            		auto = "0";
            	}
                $(".videoss").append(tplawesome(data, [{"title":item.snippet.title, "videoid":item.id.videoId, "auto":auto}]));
                i = i + 1;
            });
          });
       });
    });
});

function init() {
    gapi.client.setApiKey("MY_API_KEY");
    gapi.client.load("youtube", "v3", function() {
        // yt api is ready
    });
}
&#13;
<div class="item">
	<iframe class="video w100" width="364" height="205" src="//www.youtube.com/embed/{{videoid}}?autoplay={{auto}}" frameborder="0" allowfullscreen></iframe>
	<div class="player_title">{{title}}</div>
	<div class="player_divider"></div>
</div>
&#13;
&#13;
&#13;

所以它现在正在运作,但我并不是非常&#34; API-youtube-&amp; -JS_friendly&#34;所以我不知道如何使用API​​启动播放器(我尝试但没有成功,只有第一个视频正在加载)来制作OnStateChange功能并进行自动播放我作为播放列表获得的所有视频(,我没有找到一种方法可以在没有API 的情况下制作它),所以我需要你的帮助。

  

我已经使用了一段时间,但这是我的第一篇文章而且我不会说英语,所以如果我不熟练的话,请不要跟我说话。在第一篇文章中表现不佳:)

0 个答案:

没有答案