Как сделать панорамирование в HTML5-Audio / Mozilla Audio Data API - PullRequest
1 голос
/ 17 марта 2012

[РЕДАКТИРОВАТЬ: этот вопрос касается API аудиоданных Mozilla, который больше не рассматривается для HTML5 Audio API и не поддерживается]

Я пытаюсь изменить заполнение аудиофайлаиспользуя API аудиоданных Mozilla.Я не нашел никакого способа сделать это.Я даже попытался разделить каналы и пропустить их через разные фильтры с разным dbGain без удачи.

1 Ответ

2 голосов
/ 03 апреля 2012

Клавиша для изменения баланса вашего аудиофайла - это захват данных (например, стереофонического музыкального файла) и изменение значения (амплитуды) данных правого и левого каналов. Доступ к значению правого и левого каналов будет выполнен с помощью [i * 2] и [i * 2 + 1], потому что они находятся в ряду.

Возьмите пример, приведенный ниже (который я скопировал из Книги Игр HTML5 от Wiley):

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;
}

Пазухи, которые вам не понадобятся в вашем случае. Дальнейшие вопросы? С наилучшими пожеланиями, Lukas

...