如何在HTML5-Audio / Mozilla Audio Data API中进行平移

时间:2012-03-17 02:52:07

标签: javascript html5 html5-audio

[编辑:此问题是关于Mozilla音频数据API,不再考虑HTML5音频API而不支持]

我正在尝试使用Mozilla音频数据API更改音频文件的填充。我还没有找到任何办法。我甚至试图将通道分开并通过不同的dbGain通过不同的过滤器而没有运气。

1 个答案:

答案 0 :(得分:2)

更改音频文件平衡的关键是获取数据(例如立体声音乐文件)并更改右声道和左声道数据的值(幅度)。使用[i * 2]和[i * 2 + 1]可以访问右侧和左侧通道值,因为它们是连续的。

以下一个例子(我从Wiley的HTML5游戏书中复制出来):

function generateTone(freq, balance,sampleRate) {
  var samples = Math.round(sampleRate / freq),
  data = new Float32Array(samples *2), 
  var sample, i;

  for (i = 0; i < samples; i++) {
    sample = Math.sin(Math.PI * 2 * i / samples);
    data[i * 2] = sample * (0.5 - balance);
    data[i * 2 + 1] = sample * (0.5 + balance);
  }

  return data;
}

在你的情况下你不需要的鼻窦。 进一步的问题? 最好的祝福, 卢卡斯