Description
I have an electron app and need to share my screen. Upon loading the app I prompt the user for audio, video, and screen recording permissions if they have not already done so.
I am trying to start sharing my screen via the following function:
async startScreenShare(canvas: HTMLCanvasElement) {
const client = await this.client();
const stream = await client.getMediaStream();
return stream?.startShareScreen(canvas);
}
I can get a stream in the electron browser window with:
navigator.mediaDevices.getUserMedia({
video: { mandatory: { chromeMediaSource: 'desktop' } }
});
I can also get access to user screen using the electron desktopCapturer:
desktopCapturer
.getSources({ types: ['window', 'screen'] })
.then((resp) => console.log('desktp get sources: ', resp));
So as far as the electron app is concerned, it appears to have all the permissions it needs. It prompted for recording permission and I gave it. But whenever I try to call the zoom client.startScreenShare(), it says “user deny permission”.
Error
{
type: “INVALID_OPERATION”,
reason: “user deny screen share”
}
Which Web Video SDK version?
1.1.0
Screenshots
If applicable, add screenshots to help explain your problem.
Device (please complete the following information):
- Device: Macbook
- OS: Catalina: 10.15.7
- Browser: Electron
- Browser Version 8.5.5