Javascript chrome.desktopCapture-can';t是否同时录制系统音频和麦克风?

Javascript chrome.desktopCapture-can';t是否同时录制系统音频和麦克风?,javascript,google-chrome-extension,mediarecorder,getusermedia,mediastream,Javascript,Google Chrome Extension,Mediarecorder,Getusermedia,Mediastream,我已经构建了一个Chrome扩展,可以捕获屏幕活动和麦克风输入,并输出视频文件。由于chrome.desktopCapture无法在屏幕捕获的同时录制音频输入,因此我将话筒放在单独的流中。因此: //get screen stream chrome.desktopCapture.chooseDesktopMedia(['screen'], null, (stream_id, opts) => { let constraints = {video: mandatory: {

我已经构建了一个Chrome扩展,可以捕获屏幕活动和麦克风输入,并输出视频文件。由于
chrome.desktopCapture
无法在屏幕捕获的同时录制音频输入,因此我将话筒放在单独的流中。因此:

//get screen stream
chrome.desktopCapture.chooseDesktopMedia(['screen'], null, (stream_id, opts) => {
    let constraints = {video: mandatory: {
        chromeMediaSource: 'desktop',
        chromeMediaSourceId: stream_id
    }};
    navigator.mediaDevices.getUserMedia(constraints).then((stream) => {
        video_stream = stream;
    });
});

//get mic stream
navigator.mediaDevices.getUserMedia({audio: true}).then((stream) => {
    audio_stream = stream;
});
然后,稍后,当我得到两个流时,在开始录制之前,我通过创建一个主流来合并它们,并将来自单独视频和音频流的各自曲目添加到其中

let master_stream = new MediaStream(video_stream);
master_stream.addTrack(audio_stream.getTracks()[0]);
最后,当我最终得到一个视频文件时,这非常有效。我有屏幕和麦克风

问题:如果我让Chrome也录制系统声音,为什么这项技术不起作用?

因此,如果我将
['screen']
更改为
['screen','audio']
,而其他一切都相同,我最终在生成的视频中没有麦克风

如果我在
master\u-stream
上输出
gettrack()
,我得到的结果如下:

Array(3)
    0: MediaStreamTrack {kind: "audio", id: "9ee3ee33-73ee-41e4-957c-d6fd3aaada43", label: "System Audio", enabled: true, muted: false, …}
    1: MediaStreamTrack {kind: "audio", id: "ab2429a1-7f75-48f2-9ee1-6a4bfd7ca942", label: "Default - Microphone (Samson Meteor Mic) (17a0:0310)", enabled: true, muted: false, …}
    2: MediaStreamTrack {kind: "video", id: "4ecb1929-31d0-4a79-8cbc-1a8759323c3b", label: "screen:0:0", enabled: true, muted: false, …}

我看不出一个明显的原因来解释为什么添加系统音频会扼杀结果输出中的麦克风音频。有人有什么想法吗?

我在这篇文章中看到了你的评论。看起来这跟这个有关系。您还可以在中创建和跟踪bug和功能。您好,我一直在尝试开发一个简单的扩展,用于记录屏幕和音频,但迄今为止一直在努力。你能多分享一下你的方法吗?这将非常有帮助,因为我只是一个初学者,而且所有desktopCapture文档和示例都非常古老。非常感谢。我从来没有让它记录系统声音,只有麦克风音频+屏幕或网络摄像头。我建议退房。如果您想深入了解我的代码,请下载一个名为govidigo(蓝色徽标)的Chrome扩展。找出Chrome在您机器上的安装位置,然后您可以检查我编写的JavaScript。同样,我无法通过Chrome扩展获取系统音频:(有Chrome应用程序可以获取系统音频(),但Chrome应用程序正在被弃用:(