爆米花JS - 在iPad或iOS设备上使用爆米花和Youtube

时间:2012-05-14 17:18:28

标签: ios ipad safari youtube popcornjs

我正在使用popcornjs加载来自youtube的视频互动。 当我使用文档中的代码时:

<html>
  <head>
<script src="http://popcornjs.org/code/dist/popcorn-complete.min.js"></script>

<script>
  // ensure the web page (DOM) has loaded
  document.addEventListener("DOMContentLoaded", function () {

       // Create a popcorn instance by calling the Youtube player plugin
     var example = Popcorn.youtube(
       '#video',
       'http://www.youtube.com/watch?v=CxvgCLgwdNk' );

     // add a footnote at 2 seconds, and remove it at 6 seconds
     example.footnote({
       start: 2,
       end: 6,
       text: "Pop!",
       target: "footnotediv"
     });

     // play the video right away
     //example.play(); => commented because you can't autoplay on ios

  }, false);
</script>
  </head>
  <body>
    <div id="video" style="width: 360px; height: 300px;" ></div>
    <div id="footnotediv"></div>
  </body>
</html>    

它在任何浏览器上看起来都很完美,但iPad上没有显示任何内容。 当我用爆米花加载视频但没有使用Youtube时,它似乎工作正常。

我该怎么办?

3 个答案:

答案 0 :(得分:3)

不幸的是,ipad不支持Flash。我们确实有一张正在使用Popcorn的票据切换到他们的HTML5 API,你可以在这里查看:

https://webmademovies.lighthouseapp.com/projects/63272/tickets/329-support-youtube-html5-api-playback-engine

希望有所帮助, 布雷特

答案 1 :(得分:0)

尝试使用智能媒体包装器:

var example = Popcorn.smart(        '#视频',        'http://www.youtube.com/watch?v=CxvgCLgwdNk');

 // add a footnote at 2 seconds, and remove it at 6 seconds
 example.footnote({
   start: 2,
   end: 6,
   text: "Pop!",
   target: "footnotediv"
 });

 // play the video right away
 //example.play(); => commented because you can't autoplay on ios
}, false);

我也面临这个问题,Youtube Popcorn不在iPad上工作。但有趣的是我找到了一个使用爆米花youtube的网站,它在iPad上运行良好

链接:

http://www.retn.org/show/south-burlington-school-board-meeting-october-2-2013

所以,我想有人应该提出更具体的答案

答案 2 :(得分:0)

在您的代码中编辑此文件:

https://github.com/mozilla/popcorn-js/blob/master/wrappers/youtube/popcorn.HTMLYouTubeVideoElement.js

在第117行评论onPlayerReady()的正文部分,并在iPad的情况下在此函数中添加以下语句。

addYouTubeEvent("play", onFirstPlay);
playerReady = true;
mediaReady = true; 
player.mute();

原因:iPad上的Youtube需要用户互动,您无法以编程方式启动它,并且由于player.isMuted()方法返回false,如果是iPad,addYouTubeEvent("play", onFirstPlay)语句永远不会被调用