如何在HTML5-音频/Mozilla音频数据API中进行平移

How to do panning in HTML5-Audio/Mozilla Audio Data API

本文关键字:音频 API Mozilla HTML5- 数据      更新时间:2023-09-26

[编辑:这个问题是关于Mozilla Audio Data API的,它不再被考虑用于HTML5 Audio API,也不受支持]

我正在尝试使用Mozilla音频数据API更改音频文件的填充。我还没有找到任何方法来做到这一点。我甚至试图用不同的dbGain将通道分离并通过不同的过滤器,但没有成功。

更改音频文件平衡的关键是获取数据(例如立体声音乐文件)并更改左右声道数据的值(幅度)。访问右侧和左侧通道值将使用[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;
}

在你的情况下,你不需要鼻窦生成。还有什么问题吗?顺致敬意,卢卡斯