Limited availability
Die createMediaStreamTrackSource()
-Methode der AudioContext
-Schnittstelle erzeugt und gibt ein MediaStreamTrackAudioSourceNode
zurück, das eine Audioquelle darstellt, deren Daten vom angegebenen MediaStreamTrack
stammen.
Dies unterscheidet sich von der Methode createMediaStreamSource()
, die ein MediaStreamAudioSourceNode
erstellt, dessen Audio von der Audiospur in einem angegebenen MediaStream
kommt, dessen id
lexikografisch (alphabetisch) zuerst ist.
createMediaStreamTrackSource(track)
Parameter
track
Der MediaStreamTrack
, der als Quelle aller Audiodaten für den neuen Knoten verwendet wird.
Ein MediaStreamTrackAudioSourceNode
-Objekt, das als Quelle für Audiodaten in der angegebenen Audiospur dient.
In diesem Beispiel wird getUserMedia()
verwendet, um den Zugriff auf das Mikrofon des Benutzers anzufordern. Sobald dieser Zugriff gewährt wurde, wird ein Audiokontext erstellt und ein MediaStreamTrackAudioSourceNode
mithilfe von createMediaStreamTrackSource()
erstellt, dessen Audio von der ersten Audiospur im Stream stammt, der von getUserMedia()
zurückgegeben wird.
Dann wird ein BiquadFilterNode
erzeugt, indem createBiquadFilter()
verwendet wird, und es wird so konfiguriert, dass ein Tiefenfilter auf das vom Quellknoten kommende Audio angewendet wird. Der Ausgang des Mikrofons wird dann in den neuen Biquad-Filter geleitet, und der Ausgang des Filters wiederum zum destination
des Audiokontextes.
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
});
Spezifikationen Browser-Kompatibilität Siehe auch MDN-Feedback-Box War diese Ãbersetzung hilfreich?
Diese Seite wurde automatisch aus dem Englischen übersetzt.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4