为什么这个html5音频不能用于chrome,但在safari上工作得很好

时间:2013-11-20 02:44:39

标签: javascript html5 google-chrome safari web-audio

我希望在我的网络上播放一些声音,这是我的代码,它是关于safari的工作,但是不能使用chrome。任何人都可以给我一个解决方案

$(button).click(function() {
        $.ajax({
            url : "messageaction",
            type : "post",
            dataType : "xml",
            cache : false,
            data : {
                message : "msg_askmessg",
                os : KHL_parameter.os,
                usertype : KHL_parameter.usertype,
                ver : KHL_parameter.ver,
                messageid : msgid,
                type : 2
            }
        }).done(function(responsedata) {
            var source = context.createBufferSource(); 
            var buffer = context.createBuffer($.processStreamVoice(responsedata), true); //$.processStreamVoice, is base64 decode for responsedata
            source.buffer = buffer; 
            source.connect(context.destination); 
            source.noteOn(context.currentTime);
        });
    });

1 个答案:

答案 0 :(得分:2)

尝试更改此内容:

 source.noteOn(context.currentTime);

到此:

source.noteOn ? source.noteOn(0) : source.start(0);

noteOn方法已被start取代,但Safari尚未赶上。 0的论点等同于context.currentTime - 两者都将立即开始播放。