在UIWebview中检测YouTube视频的结尾

时间:2013-12-23 05:11:48

标签: ios objective-c uiwebview youtube

我需要知道youtube视频何时停止播放。我查找了现有的Q& As,并且所有人都建议重定向到另一个唯一的URL,可以在webview加载完成的委托中检测到。

但要做到这一点,我需要在服务器或我的应用程序中有一个HTML页面(因为我需要为onStateChange添加javascript函数)。如果它在服务器上,服务器停机时间将影响应用程序,如果它在应用程序中,任何更改都需要更新应用程序。

还有其他解决方法吗?

编辑:需要在html中注入/加载的JS代码。

    var player;
    var videoID;
    var prmstr = window.location.search.substr(1);
    var prmarr = prmstr.split ("&");
    var params = {};

    for ( var i = 0; i < prmarr.length; i++) {
        var tmparr = prmarr[i].split("=");
        params[tmparr[0]] = tmparr[1];
    }
    if (params.videoID !== undefined || params.videoID !== "") {
        videoID = params.videoID;
    } else {
        videoID = "0Bmhjf0rKe8";
    }
    function onYouTubePlayerAPIReady() {
        player = new YT.Player('player', {
          height: '390',
          width: '640',
          videoId: videoID,
          events: {
            'onReady': onPlayerReady,
            'onStateChange': onPlayerStateChange
          }
        });
    }

    // autoplay video
    function onPlayerReady(event) {
        event.target.playVideo();
    }

    // when video ends
    function onPlayerStateChange(event) {        
        if(event.data === 0) {          
            window.location.href = "http://example.com/done.html";
        }
    }

1 个答案:

答案 0 :(得分:0)