MediaStream: phương thức removeTrack()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2017.

Phương thức removeTrack() của giao diện MediaStream xóa một MediaStreamTrack khỏi luồng.

Cú pháp

js
removeTrack(track)

Tham số

track

Một MediaStreamTrack sẽ bị xóa khỏi luồng.

Giá trị trả về

Không có (undefined).

Ví dụ

Ví dụ sau minh họa cách xóa các track audio và video khỏi một MediaStream. fetchStreamFunction là một trình xử lý sự kiện cho fetchStreamButton. Khi nút được nhấp, audio và video được lấy từ các thiết bị của hệ thống. removeTracksFunction là trình xử lý sự kiện cho removeTracksButton. Khi nút này được nhấp, các track audio và video bị xóa khỏi 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);

  // Luồng sẽ trống
  console.log(newStream.getTracks());
}

fetchStreamButton.addEventListener("click", fetchStreamFunction);
removeTracksButton.addEventListener("click", removeTracksFunction);

Thông số kỹ thuật

Specification
Media Capture and Streams
# dom-mediastream-removetrack

Tương thích trình duyệt