以前是,现在不知道怎么了。不管怎样,我的 JS 如下:
$(document).ready(function(){
var $container = $('#soundboard');
$("#jplayer").jPlayer({
supplied: "mp3",
wmode: "window"
});
$("a.playbutton").click(function(e) {
var current = $("#jplayer").data().jPlayer.status.src
var playing = current.split("/");
var href = encodeURIComponent($(this).attr("href"));
if(playing[3] != href) {
console.log("href:" + href);
console.log("playing:" + playing);
console.log("current:" + current);
$("#jplayer").jPlayer("setMedia", {mp3: "http://mp3.mydomain.net/" + href});
$("#jplayer").jPlayer("play");
$("a.playbutton").removeClass("stop");
$(this).addClass('stop');
$("a.playbutton > img").each(function () {
$(this).attr("src","http://i.mydomain.net/icons/play.png");
});
} else {
$("#jplayer").jPlayer("stop");
$("#jplayer").jPlayer("clearMedia");
$("a.playbutton").removeClass("stop");
}
return false;
});
});
上次我检查这个页面时它工作正常,但由于某种原因它不见了。我用 jquery.jplayer.min.js
更新了我的 jplayer.js 文件.
HTML 是:
<a href='mymp3.mp3' class='playbutton'></a>
文件名正确,变量似乎正确,但根本没有播放音频。我也没有收到任何错误消息,从 JS 看到的图片也都发生了很好的变化。我只是无事可做,因为没有错误消息:(
编辑:这是一个特定于 chrome 的错误。播放器在 Internet Explorer 中运行良好。
最佳答案
显然,最新稳定版的 Chrome 破坏了 jPlayer 的 html5 音频,因为 jPlayer 对 mp3 文件使用了非标准的 mimetype。
看这个:https://code.google.com/p/chromium/issues/detail?id=386073
修复此处,但需要编辑 jplayer javascript 文件:https://github.com/happyworm/jPlayer/issues/223
在第 704 行(在版本 2.6.3 中)更改为:
mp3: {
//codec: 'audio/mpeg; codecs="mp3"',
codec: 'audio/mpeg',
flashCanPlay: true,
media: 'audio'
},
更新:
已在最新版本的 jPlayer 中修复:https://cdnjs.cloudflare.com/ajax/libs/jplayer/2.6.4/jquery.jplayer/jquery.jplayer.min.js
关于javascript - 无法让 jPlayer 给我声音了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24907571/