Spec-Zone.ru › Web APIs

BaseAudioContext: метод createChannelMerger()

Базовая версия Широко распространена

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с апреля 2021 года.

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

Метод createChannelMerger() интерфейса BaseAudioContext создаёт узел ChannelMergerNode, который объединяет каналы из нескольких аудиопотоков в один аудиопоток.

Примечание: Рекомендуемым способом создания узла ChannelMergerNode() является использование конструктора ChannelMergerNode; см. Создание узла AudioNode.

Синтаксис

createChannelMerger(numberOfInputs)

Параметры

numberOfInputs

Количество каналов во входных аудиопотоках, которые будут содержаться в выходном потоке; значение по умолчанию — 6, если параметр не указан.

Возвращаемое значение

Узел ChannelMergerNode.

Примеры

В следующем примере показано, как можно разделить стереодорожку (например, музыкальный фрагмент) и обработать левый и правый каналы по-разному. Для этого необходимо использовать второй и третий параметры метода AudioNode.connect(AudioNode), которые позволяют указать индекс канала для подключения и индекс канала для подключения к нему.

const ac = new AudioContext();
ac.decodeAudioData(someStereoBuffer, (data) => {
  const source = ac.createBufferSource();
  source.buffer = data;
  const splitter = ac.createChannelSplitter(2);
  source.connect(splitter);
  const merger = ac.createChannelMerger(2);

  // Reduce the volume of the left channel only
  const gainNode = ac.createGain();
  gainNode.gain.setValueAtTime(0.5, ac.currentTime);
  splitter.connect(gainNode, 0);

  // Connect the splitter back to the second input of the merger: we
  // effectively swap the channels, here, reversing the stereo image.
  gainNode.connect(merger, 0, 1);
  splitter.connect(merger, 1, 0);

  const dest = ac.createMediaStreamDestination();

  // Because we have used a ChannelMergerNode, we now have a stereo
  // MediaStream we can use to pipe the Web Audio graph to WebRTC,
  // MediaRecorder, etc.
  merger.connect(dest);
});

Спецификации

Спецификация
Web Audio API
# dom-baseaudiocontext-createchannelmerger

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
createChannelMerger 14 12 25 15 6 18 25 14 6 1.0 4.4.3

См. также

  • Использование Web Audio API

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/BaseAudioContext/createChannelMerger

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API