2

首先是一点背景。我已经使用网络上可用的实验性音频 api 工作了很长一段时间。在那段时间里,我接触了 Mozilla 的音频数据 API 和 Web 音频 API,用于以下列方式处理和操作音频:-

  • 从音频文件中收集原始音频数据(样本数组)/创建一个简单的音频样本数组,该数组可用于表示缓冲区中包含的各个样本。
  • 处理有问题的缓冲区,执行 FFT 分析并使用处理后的音频创建一个新的缓冲区(简单的样本数组),例如过滤的样本集合。
  • 将生成的缓冲区写入新的音频对象。

我最近开始考虑迁移到 SoundManager2 API,它利用 flash 为不支持在浏览器中处理音频所需的某些 html5 功能的浏览器提供后备,但是,我似乎陷入了困境最后阶段。

我可以访问原始音频数据以进行操作,但 SoundManager2 似乎不允许将缓冲区写入新的音频对象,就像您在下面显示的 Moz Audio Api 示例中那样。

// Create input audio object
var audio = new Audio();
audio.src = 'my_audio_file.ogg';
var channels;
var rate;

// Get input data
audio.addEventListener('loadedmetadata', function() {
    var channels            = this.mozChannels;
    var rate                = this.mozSampleRate;
}, false);

// Create output audio object with input settings
var output = new Audio();
output.mozSetup(channels, rate);

// Do something as the buffer is played
audio.addEventListener('MozAudioAvailable', function(event) {
    // Process audio and write to output object
    // event.frameBuffer is an array of raw audio samples
    output.mozWriteAudio(event.frameBuffer);
}, false);

谁能告诉我是否有一个类似于 SoundManager2 的库可以进行音频数据的写入和读取。或者我只是在 Soundmanager 中遗漏了一些东西,而我实际上可以执行这种类型的处理。任何建议将不胜感激。

谢谢

安德鲁

4

0 回答 0