javascript:没有从保存到主屏幕的页面加载iOS音频

时间:2013-01-24 05:56:55

标签: javascript ios audio

页面效果很好,直到保存到主屏幕。如果从主屏幕启动,则不会显示音频。错误是“值不是一种AudioBuffer”。我想在这里使用XMLHttpRequest()加载音频存在问题。 M4A文件存在于cache.manifest中,因此应该正常缓存。 你能建议吗?感谢

function beep(){
    var sound = context.createBufferSource();
    sound.buffer = soundBuffer; <<< here
    sound.connect(context.destination);
    sound.noteOn(0);
}

...

if('webkitAudioContext' in window) {
    context = new webkitAudioContext();

    function bufferSound(event) {
        var request = event.target;
        soundBuffer = context.createBuffer(request.response, false);
    }

    var request = new XMLHttpRequest();
    request.open('GET', 'stoplight.m4a', true);
    request.responseType = 'arraybuffer';
    request.addEventListener('load', bufferSound, false);
    request.send(); 
}

更新:使用Base64音频编码解决。 iOS不会缓存音频文件。

0 个答案:

没有答案