【问题标题】:Chrome tab crash on decodeAudioDatadecodeAudioData 上的 Chrome 选项卡崩溃
【发布时间】:2023-03-26 15:43:01
【问题描述】:

尝试使用我为列景观制作的小型引擎构建 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 感谢您的帮助!

【问题讨论】:

    标签: javascript google-chrome coffeescript web-audio-api


    【解决方案1】:

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

    【讨论】:

    • 我使用了另一个音频文件,一个来自 Kevin Macleod 的免费音频网站,所以应该没问题,同样的问题是选项卡崩溃。可以提交票证,谢谢。
    • 我刚刚使用我自己的 mp3 文件在 Mac OS 上测试了您的确切代码f.cl.ly/items/3A2N1U02463o0s3p2Z2c/myfirstchiptune.mp3,它运行良好。也许它与您的计算机有关。我知道 Web Audio API 在 Windows、Linux 和 OS X 上运行时存在一些可移植性问题。
    • 解决了这个问题。我使用 Xonar DG 声卡,通常通道设置为 6。尝试更改它,它仅适用于 2 个通道,我认为这对于新的 api 是合理的。关于系统特定的提示让我明白了,感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 2014-02-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-09
    • 1970-01-01
    • 1970-01-01
    • 2021-06-14
    相关资源
    最近更新 更多