Spec-Zone.ru › Web APIs

AudioContext: метод createMediaStreamTrackSource()

Метод createMediaStreamTrackSource() интерфейса AudioContext создаёт и возвращает MediaStreamTrackAudioSourceNode, который представляет аудиоисточник, данные которого поступают от указанного MediaStreamTrack.

Это отличается от createMediaStreamSource(), который создаёт MediaStreamAudioSourceNode, чья аудиодорожка поступает из указанного MediaStream, у которого id идёт первой в лексикографическом порядке (алфавитном).

Синтаксис

createMediaStreamTrackSource(track)

Параметры

track

Используемый MediaStreamTrack как источник всех аудиоданных для нового узла.

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

Объект MediaStreamTrackAudioSourceNode, который служит источником аудиоданных, найденных в указанной аудиодорожке.

Примеры

В этом примере используется getUserMedia() для запроса доступа к микрофону пользователя. После получения доступа создаётся аудиоконтекст и MediaStreamTrackAudioSourceNode создаётся с помощью createMediaStreamTrackSource(), беря аудио с первой аудиодорожки в потоке, возвращённом getUserMedia().

Затем создаётся BiquadFilterNode с помощью createBiquadFilter(), и он настраивается для выполнения фильтра низких частот на аудио, поступающем от источника. Выходной сигнал микрофона затем направляется в новый фильтр биквадратов, а выход фильтра, в свою очередь, направляется в destination аудиоконтекста.

navigator.mediaDevices
  .getUserMedia({ audio: true, video: false })
  .then((stream) => {
    audio.srcObject = stream;
    audio.onloadedmetadata = (e) => {
      audio.play();
      audio.muted = true;
    };

    const audioCtx = new AudioContext();
    const audioTracks = stream.getAudioTracks();
    const source = audioCtx.createMediaStreamTrackSource(audioTracks[0]);

    const biquadFilter = audioCtx.createBiquadFilter();
    biquadFilter.type = "lowshelf";
    biquadFilter.frequency.value = 3000;
    biquadFilter.gain.value = 20;

    source.connect(biquadFilter);
    biquadFilter.connect(audioCtx.destination);
  })
  .catch((err) => {
    // Handle getUserMedia() error
  });

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

Спецификация
Web Audio API
# dom-audiocontext-createmediastreamtracksource

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

Рабочий стол Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
createMediaStreamTrackSource Нет Нет
68Firefox 68 реализует обновлённое определение стандарта для «первой» аудиодорожки; теперь первая дорожка — это дорожка, идентификатор которой идёт первой в лексикографическом порядке.
Нет Нет Нет
68Firefox для Android 68 реализует обновлённое определение стандарта для «первой» аудиодорожки; теперь первая дорожка — это дорожка, идентификатор которой идёт первой в лексикографическом порядке.
Нет Нет Нет Нет

См. также

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

© 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/AudioContext/createMediaStreamTrackSource

Spec-Zone.ru

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