在Firefox 3.6.13中配置并运行jPlayer 2.0.0后,everthing顺利运行,相同的代码无法在Safari 5.0.3中运行。我正在做的是创建jPlayer,监听“已结束” - 事件重启它。这是代码:
$(document).ready(function(){
$("#loopplayer").jPlayer({
ready: function () {$(this).jPlayer("setMedia", {mp3: "/static/audio/brokentech.mp3"});
},
swfPath: "/static/swf",
supplied: "mp3",
preload: true,
});
$("#loopplayer").bind($.jPlayer.event.ended, function(){
$(this).jPlayer("play" );
});
});
Safari中发生的事情是:进度条将NaN显示为轨道的长度,并在运行一次后停止。当我删除事件监听器并重新加载页面时,我可以运行jPlayer一次(再次使用NaN作为tracklength),运行一次后我无法重新启动它。我的代码或jP2中的错误有什么问题吗?
答案 0 :(得分:1)
看这里:
由于提供文件的方式,有些mp3有jPlayer问题。浏览器不会在gzipped响应中正确检索元数据。
答案 1 :(得分:1)
尝试在ended
事件中重新设置媒体。
这适用于Safari 7.0,它只播放一次声音,并在没有黑客攻击的情况下进行后续重播尝试。
$(function() {
$('#jp').jPlayer({
ready: function() {
// Set the media when jPlayer is ready.
$(this).jPlayer("setMedia", {mp3: "/audio/demo.mp3"});
},
ended: function() {
// Do it again after it finishes playing.
$(this).jPlayer("setMedia", {mp3: "/audio/demo.mp3"});
},
});
});
答案 2 :(得分:0)
您将swfpath指定为以下内容或使用完整域路径 { swfPath:“[http:// localhost / jplayer / js /]”, 提供:“webmv,ogv,m4v,oga,mp3” }