chrisbing / electorn-capture-screen

electron capture screen
MIT License
225 stars 65 forks source link

selectSource为空 #11

Open yuanyuZQ opened 5 years ago

yuanyuZQ commented 5 years ago

let selectSource = sources.filter(source => source.display_id + '' === curScreen.id + '')[0],sources数组中的display_id为空,selectSource得不到值,是什么问题呢?

huangbinke commented 5 years ago

我也碰到了同样的问题,而且截图的窗口完全不显示,captureWin开启调试后,发现和你一样的问题

huangbinke commented 5 years ago

有解决方案了吗

chanble commented 5 years ago

因为获取不到 source的display_id导致的, 如果没有获取到就用主屏幕. 代码:


            // 有时候获取source.display_id = "",则用主屏幕
            if (selectSource.length < 1) {
                selectSource = sources.filter(source => source.name === 'Entire screen');
            }
Lana1995 commented 3 years ago

//可以获取到所有屏幕,然后遍历为sources的display_id赋值 let displays= remote .screen.getAllDisplays(); for(let i = 0;i<sources.length && I<displays.length;i++){ if(sources[I].display_id === ''){ sources[I].display_id = displays[I].id; } } let selectSource = sources.filter(source => source.display_id + '' === curScreen.id + '')[0]