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
});
Спецификации
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 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