0

我可以让它在 Firefox 和 Chrome 上工作,但不能在 Safari 上工作。在 Safari 上,它将被创建,但是当您将其用于 RTCPeerConnection.addTrack 时,浏览器会崩溃。

有没有办法创建一个视频类型的 MediaStreamTrack,它只是一个空白视频?

  let silence = () => {
        let ctx = new AudioContext(), oscillator = ctx.createOscillator();
        let dst = oscillator.connect(ctx.createMediaStreamDestination());
        oscillator.start();
        return Object.assign(dst.stream.getAudioTracks()[0], { enabled: false });
    }

    let black = ({ width = 3840, height = 2160 } = {}) => {
        let canvas = Object.assign(document.createElement("canvas"), { width, height });
        canvas.getContext('2d').fillRect(0, 0, width, height);
        let stream = canvas.captureStream();
        return Object.assign(stream.getVideoTracks()[0], { enabled: false });
    }

    let blackSilence = (...args) => new MediaStream([black(), silence()]);
4

0 回答 0