无法让jPlayer再给我声音

时间:2014-07-23 10:06:40

标签: javascript jplayer

过去,我不知道为什么它现在没有。无论如何,我的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中工作正常。

1 个答案:

答案 0 :(得分:2)

显然,Chrome的最新稳定版本打破了jPlayer的html5音频,因为jPlayer使用的是非标准的mimetype用于mp3文件。

请参阅: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