【问题标题】:How to record desktop screen in electron app using angular 6如何使用 Angular 6 在电子应用程序中记录桌面屏幕
【发布时间】:2019-07-08 17:23:02
【问题描述】:

我正在尝试使用角度记录屏幕

app.component.ts

async recordScreen() {
    let stream = await navigator.getDisplayMedia({ video: true })
    console.log(stream)
}

main.js

win = new BrowserWindow({
     width: 800,
     height: 600,
     autoHideMenuBar: true,
     webPreferences: {
         webSecurity: false,
         nodeIntegration: true,
         experimentalFeatures: true,
         allowRunningInsecureContent: true
     }
})

TypeError: navigator.getDisplayMedia 不是函数

更多细节

当我在浏览器中运行 angular(不带 Electron)并启用标志 Experimental Web Platform features 时,navigator.getDisplayMedia({ video: true }) 工作正常

但是...与Electron,我已经告诉过我所面临的。

任何帮助将不胜感激:)

【问题讨论】:

    标签: angular angular6 electron screen-recording


    【解决方案1】:

    改用这段代码,它对我有用:

    let stream = navigator.mediaDevices.getDisplayMedia({ video: true });
    

    【讨论】:

    • VS CodegetDisplayMedia 下抛出错误,这就是编译项目失败的原因
    • 尝试用作(navigator.mediaDevices as any).getDisplayMedia({ video: true }),但出现错误navigator.mediaDevices.getDisplayMedia is not a function
    • 是的,有一些编译错误,因为它已经改变了。您可以尝试navigator.mediaDevices.getUserMedia({video: true}); 没有编译错误,但不确定它是否适用于屏幕共享。您还可以在此处阅读有关此更新的更多信息(getDisplayMedia 曾经使用 navigator,但最近已移至 navigator.mediaDevices.getDisplayMedia) -> blog.mozilla.org/webrtc/…
    猜你喜欢
    • 1970-01-01
    • 2018-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-05
    • 1970-01-01
    • 2023-04-09
    相关资源
    最近更新 更多