如何在Chrome DesktopCapture API中点击"停止共享"

wpp*_*wpp 8 javascript google-chrome google-chrome-extension webrtc

我目前正在编写使用Chrome的DesktopCapture API的Chrome扩展程序.当有人点击"停止共享"时,我很难设置回调.

停止分享截图

我尝试使用MediaStream 的onended EventHandler,但是在点击按钮后MediaStream的ended属性仍然设置为true.

我可以在流(单击按钮之前和之后)之间找到的唯一区别videoTracks.readyState是设置为ended.

编辑:我还想注意用户是否关闭了之前流式传输的窗口.

wpp*_*wpp 17

我通过在videoTrack的 onended属性上分配一个EventHandler解决了这个问题:

  // somebody clicked on "Stop sharing"
  stream.getVideoTracks()[0].onended = function () {
    // doWhatYouNeedToDo();
  };
Run Code Online (Sandbox Code Playgroud)

就我的编辑而言(注意关闭窗口):它也会触发事件.


小智 11

现在我们有了oninactive,你可以这样使用

stream.oninactive = () => {}
Run Code Online (Sandbox Code Playgroud)