2011-12-28 106 views
5

我在使用jQuery Jplayer的Firefox 8中播放MP3文件时遇到了问题。 我安装了浏览器的最新Flash,我可以看到jplayer.swf文件正在Firebug的Flash选项卡中下载。为什么jPlayer不能在Firefox中播放我的MP3文件?

我包含在这个顺序下列文件:

<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.1.min.js"></script> 
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js"></script> 
<script src="https://raw.github.com/happyworm/jPlayer/master/jquery.jplayer/jquery.jplayer.js" type="text/javascript" charset="utf-8"></script> 

而且我有这个在DOM加载:

$("#jquery_jplayer").jPlayer({ 
    ready: function() { 
     $(this).jPlayer("setMedia", { 
     mp3: "http://sound26.mp3pk.com/indian/ladiesvsricky/ladiesvsrickybahl01(www.songs.pk).mp3" 

     }); 
    }, 
    swfPath: "http://cloudfactory-transcription.s3.amazonaws.com/javascripts/", 
    supplied: "mp3", 
    volume: 1, 
    wmode:"window", 
    solution: "html,flash" 
    }); 

我有这样的HTML:

<div id="jquery_jplayer" style="height: 0px"></div> 
      <div class="jp-audio"> 
      <div class="jp-type-single"> 
       <div id="jp_interface_1" class="jp-interface all_rounded_corners"> 
       <ul class="jp-controls"> 
        <li><a href="#" class="jp-play pp" tabindex="1">play</a></li> 
        <li><a href="#" class="jp-pause pp" tabindex="1">pause</a></li> 
        <li><a href="#" class="jp-previous traverse" tabindex="1">Previous</a></li> 
       </ul> 
       <div class="jp-progress" style = "display:none;"> 
        <div class="jp-seek-bar"> 
        <div class="jp-play-bar"></div> 
        </div> 
       </div> 
       </div> 
      </div> 
      </div> 

而且Firefox无法播放MP3文件。我还可以看到一个隐藏的对象,看起来像这样:

<object width="1" height="1" id="jp_flash_0" data="http://cloudfactory-transcription.s3.amazonaws.com/javascripts/Jplayer.swf" type="application/x-shockwave-flash"> <param name="flashvars" value="jQuery=jQuery&amp;id=jquery_jplayer&amp;vol=1&amp;muted=false"> 
<param name="allowscriptaccess" value="always"> 
<param name="bgcolor" value="#000000"> 
<param name="wmode" value="window"> 
</object> 

回答

14

有几件事情:

  1. 除非你指定一个明确的Container Ancestor jPlayer默认使用DOM元素与标识#jp_container_1,你没有在你的HTML提供
  2. 作为FF HTML 5音频无法播放MP3它需要最新 jPlayer SWF工作,您jPlayer构造函数代码指向一个 SWF版本。

这里是修复一个小提琴:http://jsfiddle.net/75lb/gdLnT/

修正HTML:

<div id="jquery_jplayer"></div> 
<div id="jp_container_1" class="jp-audio"> 
    <div class="jp-type-single"> 
     <div id="jp_interface_1" class="jp-interface all_rounded_corners"> 
     <ul class="jp-controls"> 
      <li><a href="#" class="jp-play pp" tabindex="1">play</a></li> 
      <li><a href="#" class="jp-pause pp" tabindex="1">pause</a></li> 
      <li><a href="#" class="jp-previous traverse" tabindex="1">Previous</a></li> 
     </ul> 
     <div class="jp-progress" style = "display:none;"> 
      <div class="jp-seek-bar"> 
      <div class="jp-play-bar"></div> 
      </div> 
     </div> 
     </div> 
    </div> 
</div> 

修正后的Javascript:

$("#jquery_jplayer").jPlayer({ 
    ready: function() { 
     $(this).jPlayer("setMedia", { mp3: "http://sound26.mp3pk.com/indian/ladiesvsricky/ladiesvsrickybahl01(www.songs.pk).mp3" }); 
    }, 
    //swfPath: "http://cloudfactory-transcription.s3.amazonaws.com/javascripts/", 
    swfPath: "http://www.jplayer.org/latest/js/Jplayer.swf", 
    supplied: "mp3", 
    volume: 1, 
    wmode:"window", 
    solution: "html,flash", 
}); 
+0

感谢您的变化似乎在小提琴的工作,但是当我把同样的代码到我的项目也没没有工作。某些错误弹出说:“jPlayer 2.1.0:ID =‘jquery_jplayer’!。错误 尝试发出媒体回放命令,而没有媒体URL设置 使用setMedia()来设置媒体URL 上下文:play“ 任何想法为什么这个错误是在Firefox中弹出。 顺便说一句,我试着从小提琴粘贴Iframe的所有代码,但仍然弹出这个错误。 谢谢 – Gagan 2011-12-29 06:27:52

+0

但是当我从iframe中复制代码并将此静态页面推送到heroku时,它可以工作。任何想法为什么发生这种情况? 它需要某种托管吗? – Gagan 2011-12-29 08:09:23

+0

怪异!可以发布一个链接到这个静态页面?我会检查一下.. – Lloyd 2011-12-29 12:40:50

2

我有同样的问题,我做了一个jplayer音频播放列表和加载的MP3文件。

,它正在对铬不会在Firefox

我固定,通过添加解决方案:闪存

$(document).ready(function(){ 

    var myPlaylist = new jPlayerPlaylist({ 
    jPlayer: "#jquery_jplayer_1", 
    cssSelectorAncestor: "#jp_container_1" 
    }, [ 
    { 
     title:"Cro Magnon Man", 
     artist:"miaow", 
     mp3:"http://www.jplayer.org/audio/mp3/TSP-01-Cro_magnon_man.mp3", 
     oga:"http://www.jplayer.org/audio/ogg/TSP-01-Cro_magnon_man.ogg" 
    } 

    ], { 
    playlistOptions: { 
    enableRemoveControls: true 
    }, 
     swfPath: "js", 
    supplied: "mp3", 
    wmode: "window", 
    solution: "flash", 
    }); 

    $("#jplayer_inspector_1").jPlayerInspector({jPlayer:$("#jquery_jplayer_1")});