confirm()在Chrome中打破decodeAudioBuffer()回调?

时间:2013-11-10 16:56:44

标签: javascript html5 web-audio

在我的HTML5网络音频API应用程序中,我正在加载一大堆背景音频文件,或多或少像这样(没什么真正的花哨):

GET(
    sound.url,
    function(response) {
      ctx.decodeAudioData(
          response,
          function(buffer) {
            buffers[sound.url] = buffer;
            on_buffer_load(sound.url);
          },
          function() {
            fail(
                "failed to decode sound", sound.id,
                "from", sound.url
              );
          }
        );
    },
    function(response, status) {
      fail(
          "failed to load sound", sound.id,
          "from", sound.url,
          "response:", status, response
        );
    },
    "arraybuffer"
  )

同时用户可以在UI中自由地做一些事情 - 只要他正在做的事情不需要加载声音。

看起来,如果用户在加载声音时触发confirm()调用,decodeAudioData()会跳过一两个回调 - 对于某些声音,不会调用成功或失败的回调。

这是预期的吗?或者我应该深入挖掘并尝试生成一个最小的示例并提交错误?我错过了什么?

0 个答案:

没有答案