微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

有没有办法绕过 Chrome desktopCapture 的选择媒体屏幕?

如何解决有没有办法绕过 Chrome desktopCapture 的选择媒体屏幕?

我正在使用 Chrome desktopCapture API 创建屏幕录制 Chrome 应用程序。

目前,我正在这样做:


app.js:

    document.querySelector('#startRecording').addEventListener('click',recordClick);
    
    function recordClick(event) {
        console.log("Start Button clicked");
        pending_request_id = chrome.desktopCapture.chooseDesktopMedia(["screen"],accesstoRecord);
    }

function accesstoRecord(id,options){
    if (!id) {
        console.log('Access rejected.');
        return;
    }

    let audioConstraint = {
        mandatory: {
          chromeMediaSource: 'desktop',chromeMediaSourceId: id
        }
    };
  
    console.log(options.canRequestAudioTrack);

    if (!options.canRequestAudioTrack)
      audioConstraint = false;
    //console.log("id is: "+id);

    navigator.webkitGetUserMedia({
        audio : audioConstraint,video : {
            mandatory: {
                chromeMediaSource: 'desktop',chromeMediaSourceId: id,maxWidth:screen.width,maxHeight:screen.height
            }
        }
    },startStream,FailedStream);
}

background.js:

chrome.app.runtime.onLaunched.addListener(function() {
  console.log("Launch Link Clicked");
  chrome.app.window.create('index.html',{
    bounds: {
      width: 800,height: 600
    }
  });
});

manifest.json:

{
    "manifest_version" : 2,"name" : "My Screen Recorder","description" : "Allows screen recording","version" : "1","app" : {
    "background" : {
        "scripts" : ["background.js"]
    }
   },"permissions" : ["desktopCapture"]
}

这在 UI 上创建的行为:

  1. 我点击我的 Chrome 应用程序,它显示一个“开始录制”按钮(id=startRecording 在上面的代码中使用)。 Start Recording button - custom screen
  2. 点击此按钮后,它会显示此 Google 屏幕以选择我要录制的内容Google's Choose media prompt
  3. 然后我开始使用这个屏幕。

我想要达到的目标: 一种绕过 Google 生成的屏幕以选择要录制的媒体的方法。我想在我的代码中传递媒体类型,并在单击第一个“开始录制”按钮时,我希望它开始录制我在代码中传递的类型,而不是向我显示选择媒体提示

能做到吗?

解决方法

不,出于安全原因——Chrome 不希望任何工具能够从浏览器外部访问敏感数据。但是,您可以在不使用 chrome.tabs.captureVisibleTab 提示的情况下捕获当前标签。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。