MediaStream:removeTrack() 方法
removeTrack()
方法是 MediaStream
接口的方法,用于从流中移除 MediaStreamTrack
。
语法
js
removeTrack(track)
参数
track
-
将从流中移除的
MediaStreamTrack
。
返回值
无 (undefined
)。
示例
以下示例演示了如何从 MediaStream
中移除音频和视频轨道。fetchStreamFunction
是 fetchStreamButton
的事件处理程序。单击按钮时,系统会从设备捕获音频和视频。removeTracksFunction
是 removeTracksButton
的事件处理程序。单击此按钮时,音频和视频轨道将从 MediaStream
中移除。
js
let initialStream = null;
let newStream = null;
let fetchStreamButton = document.getElementById("fetchStream");
let removeTracksButton = document.getElementById("removeTracks");
async function fetchStreamFunction() {
initialStream = await navigator.mediaDevices.getUserMedia({
video: { width: 620, height: 310 },
audio: true,
});
if (initialStream) {
await attachToDOM(initialStream);
}
}
async function attachToDOM(stream) {
newStream = new MediaStream(stream.getTracks());
document.querySelector("video").srcObject = newStream;
}
async function removeTracksFunction() {
let videoTrack = newStream.getVideoTracks()[0];
let audioTrack = newStream.getAudioTracks()[0];
newStream.removeTrack(videoTrack);
newStream.removeTrack(audioTrack);
// Stream will be empty
console.log(newStream.getTracks());
}
fetchStreamButton.addEventListener("click", fetchStreamFunction);
removeTracksButton.addEventListener("click", removeTracksFunction);
规范
规范 |
---|
媒体捕获和流 # dom-mediastream-removetrack |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。