我目前正在使用 peerjs 和一些原始 RTCPeerconnection API 方法开发 p2p 视频通话应用程序。当本地用户不提供媒体权限时,当我需要为与远程用户的初始连接创建一个虚拟媒体流时,我使用了虚拟轨道(即从画布捕获Stream 用于视频,并使用AudioContext 用于音频)。现在,在通话过程中,当用户授予权限时,我必须从本地媒体流中删除 canvasCaptureMediaStreamTrack 并从用户设备添加新的视频流。
在此过程中,从本地流中删除 canvasCaptureMediaStreamTrack 时,浏览器会抛出错误TypeError: Failed to execute 'removeTrack' on 'MediaStream': parameter 1 is not of type 'MediaStreamTrack'