在decodeAudioData上Chrome标签崩溃

时间:2012-10-22 04:10:46

标签: javascript google-chrome coffeescript web-audio

尝试使用我为列景观制作的小型引擎构建webgl音频可视化工具,我认为这对于频率分布非常有用。

现在,这是从coffeescript编译的,崩溃了标签:

(function() {
  var context, loadSound, onError, playSound, soundBuffer, url;

  context = new webkitAudioContext();

  soundBuffer = void 0;

  url = 'MoxxiTest.ogg';

  loadSound = function(url) {
    var request;
    request = new XMLHttpRequest();
    request.open('GET', url, true);
    request.responseType = 'arraybuffer';
    request.onload = function() {
      context.decodeAudioData(request.response, (function(buffer) {
        soundBuffer = buffer;
        return console.log('hmmm');
      }), onError);
      return console.log('hmmm');
    };
    return request.send();
  };

  playSound = function(buffer) {
    var source;
    source = context.createBufferSource();
    source.buffer = buffer;
    source.connect(context.destination);
    return source.noteOn(0);
  };

  onError = function(e) {
    return console.log(e);
  };

  window.onload = function() {
    return loadSound(url);
  };

}).call(this);

在测试中,这发生在loadSound函数的上下文的解码音频数据调用中。

使用同一文件的mp3和ogg进行测试。

按照http://www.html5rocks.com/en/tutorials/webaudio/intro/上的教程进行操作 和http://www.smartjava.org/content/exploring-html5-web-audio-visualizing-sound  有关网络音频api的信息

我正在使用XAMPP来解决交叉原始共享政策,如果这会产生影响。

Chrome版本为:22.0.1229.94 谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

我猜这是您正在使用的音频文件的特定内容。您是否尝试过使用其他音频文件?如果是这样,我建议在http://code.google.com/p/chromium/issues/list提交一张票。他们通常非常善于回应。