2

我正在使用 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 时,它​​似乎工作正常。

我能做些什么?

4

3 回答 3

3

不幸的是,ipad 不支持 Flash。我们确实有一张正在处理 Popcorn 的票以切换到他们的 HTML5 API,您可以在此处查看:

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

希望有帮助,布雷特

于 2012-05-15T20:55:12.967 回答
0

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

var example = Popcorn.smart('#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);

我也面临这个问题,Youtube Popcorn 无法在 iPad 上运行。但有趣的是,我发现了一个使用爆米花 youtube 的网站,它在 iPad 上运行良好

关联:

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

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

于 2017-05-20T09:34:23.320 回答
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 需要用户交互,你不能以编程方式启动它,并且由于 iPad 的player.isMuted()方法返回falseaddYouTubeEvent("play", onFirstPlay)语句永远不会被调用。

于 2017-12-10T15:51:44.740 回答