我正在使用Jplayer(2.2.0& jquery 1.6)在我的应用程序中播放音频文件。音频必须使用闪存解决方案。但是当解决方案选项设置为闪存时,不会触发就绪功能,因此当我播放文件时会出现错误。
当针对此问题进行googgled时,建议的解决方案是检查.swf文件的路径。路径是正确的。通过Newtwork选项卡(chrome developer tool)对此进行了双重检查。在网络选项卡中,下载.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>
答案 0 :(得分:4)
检查你的风格。如果您的#jquery_jplayer_1或其父级有display = none,则ready事件永远不会在诸如opera或firefox之类的浏览器中触发。我的意思是无法隐藏flash对象。