jquery jplayer flash后备无法正常工作

时间:2012-10-25 01:39:20

标签: jquery jplayer

我有一个jquery jplayer,其html版本运行正常。当我尝试将Flash版本加载为默认版本时,它将停止工作。

当我加载页面时,Chrome控制台会两次显示错误“PPB_Graphics2D.PaintImageData:Rectangle is outside bounds”。 Firefox没有显示任何JS错误。

这是jQuery代码。

     $("#jquery_jplayer_1").jPlayer({
            solution:"flash, html",
            play: function() { // To avoid both jPlayers playing together.
                 $(this).jPlayer("pauseOthers");
            },
            ready: function () {
                $(this).jPlayer("setMedia", {
                     mp3: "http://test.com/music.mp3"

                  });
             },

             swfPath: "player/jplayer",
             supplied: "mp3",
             cssSelectorAncestor: "#jp-audio-container1"
   });

如果我将解决方案改为解决方案:“html,flash”,播放器工作正常。 这是脚本生成的flash播放器:

   <embed name="jp_flash_0" id="jp_flash_0" src="player/jplayer/Jplayer.swf" width="0" height="0" bgcolor="#000000" quality="high" flashvars="id=jquery_jplayer_1&amp;vol=0.8&amp;muted=false" allowscriptaccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" style="width: 0px; height: 0px; ">

验证了mp3网址工作正常。我还验证了(使用Chrome网络)JPlayer.swf文件路径是正确的,可以通过上面的代码访问。

可能是什么原因?

1 个答案:

答案 0 :(得分:1)

由于Chrome的PepperFlash插件,通常会发生错误“PPB_Graphics2D.PaintImageData:Rectangle is outside bounds”。一些解决方案建议禁用它。这对我没用。

经过大量搜索后,我通过下载新的jquery.jplayer.min.js解决了这个问题。不知道另一个有什么问题。

[编辑] 在开发过程中再次发生在我身上。注意结果,为了其他任何有同样问题的人的利益。我使用Chrome的调试版Flash插件对此进行了排查。该错误是因为在“swf”属性中指定的相对URL上找不到JPlayer。在jPlayer花了相当长的时间之后,看起来像是在swf错误的情况下要检查的两件事 - swf路径和JPlayer.swf的版本。