2013-10-12 51 views
2

我正在使用Jplayer(2.2.0 & jquery 1.6)在我的應用程序中播放音頻文件。音頻必須使用閃存解決方案。但是,當解決方案選項設置爲閃光時,就緒功能不會被觸發,因此當我播放文件時出現錯誤。Jplayer就緒功能沒有使用Flash解決方案觸發

當爲這個問題進行搜索時,推薦的解決方案是檢查.swf文件的路徑。路徑是正確的。這是通過Newtwork選項卡(chrome開發人員工具)雙重檢查的。在網絡選項卡中,.swf文件沒有任何錯誤地下載。

<script type="text/javascript"> 
jQuery.noConflict(); 
jQuery(document).ready(function(){ 

     jQuery("#jquery_jplayer_1").jPlayer({ 
      ready: function() { 
       jQuery(this).jPlayer("setMedia", { 
        mp3: "http://www.happyworm.com/audio/mp3/Miaow-07-Bubble.mp3" 
       }).jPlayer("play",40); 
      }, 
      swfPath:"js/", 
      ended: function (event){ 
       jQuery(this).jPlayer("play",20); 
      }, 
      supplied:"mp3", 
      solution:"flash,html", 
      volume: .50, 
    wmode:"window" 
      //preload: 'auto' 
     }); 


jQuery("#jquery_jplayer_N").bind(jQuery.jPlayer.event.error, function (event) { 
    switch (event.jPlayer.error.type) { 
     case jQuery.jPlayer.error.URL: 
      console.log("error file"); 
      break; 
     case jQuery.jPlayer.error.NO_SOLUTION: 
      // Do something 
      console.log("NO_SOLUTION"); 
      break; 
    } 
    console.log(event.jPlayer.error.type); 
}); 
    }); 

<body> 

    <div id="jquery_jplayer_1" class="jp-jplayer"></div> 

    <div id="jp_container_1" class="jp-audio"> 
     <div class="jp-type-single"> 
      <div class="jp-gui jp-interface"> 
       <ul class="jp-controls"> 
        <li><a href="javascript:;" class="jp-play" tabindex="1">play</a></li> 
        <li><a href="javascript:;" class="jp-pause" tabindex="1">pause</a></li> 
        <li><a href="javascript:;" class="jp-stop" tabindex="1">stop</a></li> 
        <li><a href="javascript:;" class="jp-mute" tabindex="1" title="mute">mute</a></li> 
        <li><a href="javascript:;" class="jp-unmute" tabindex="1" title="unmute">unmute</a></li> 
        <li><a href="javascript:;" class="jp-volume-max" tabindex="1" title="max volume">max volume</a></li> 
       </ul> 
       <div class="jp-progress"> 
        <div class="jp-seek-bar"> 
         <div class="jp-play-bar"></div> 
        </div> 
       </div> 
       <div class="jp-volume-bar"> 
        <div class="jp-volume-bar-value"></div> 
       </div> 
       <div class="jp-time-holder"> 
        <div class="jp-current-time"></div> 
        <div class="jp-duration"></div> 

        <ul class="jp-toggles"> 
         <li><a href="javascript:;" class="jp-repeat" tabindex="1" title="repeat">repeat</a></li> 
         <li><a href="javascript:;" class="jp-repeat-off" tabindex="1" title="repeat off">repeat off</a></li> 
        </ul> 
       </div> 
      </div> 
      <div class="jp-title"> 
       <ul> 
        <li>Cro Magnon Man</li> 
       </ul> 
      </div> 
      <div class="jp-no-solution"> 
       <span>Update Required</span> 
       To play the media you will need to either update your browser to a recent version or update your <a 
href="http://get.adobe.com/flashplayer/" target="_blank">Flash plugin</a></div></div> 
</div> 
</body> 

回答

4

檢查你的風格。如果#jquery_jplayer_1或其父項的display = none,那麼就緒事件不會在opera或firefox等瀏覽器中觸發。我的意思是閃存對象不能被隱藏。

+1

這解決了一個問題,我發佈了很多次,沒有運氣。謝謝! – jerrygarciuh

相關問題