瀏覽代碼

feat(rn) support getDisplayMedia

Co-authored-by: Saúl Ibarra Corretgé <s@saghul.net>
dev1
tmoldovan8x8 5 年之前
父節點
當前提交
2a2405e936
No account linked to committer's email address
共有 1 個文件被更改,包括 23 次插入0 次删除
  1. 23
    0
      modules/RTC/ScreenObtainer.js

+ 23
- 0
modules/RTC/ScreenObtainer.js 查看文件

83
             };
83
             };
84
         } else if (browser.isElectron()) {
84
         } else if (browser.isElectron()) {
85
             return this.obtainScreenOnElectron;
85
             return this.obtainScreenOnElectron;
86
+        } else if (browser.isReactNative() && browser.supportsGetDisplayMedia()) {
87
+            return this.obtainScreenFromGetDisplayMediaRN;
86
         } else if (browser.supportsGetDisplayMedia()) {
88
         } else if (browser.supportsGetDisplayMedia()) {
87
             return this.obtainScreenFromGetDisplayMedia;
89
             return this.obtainScreenFromGetDisplayMedia;
88
         }
90
         }
207
 
209
 
208
                 errorCallback(new JitsiTrackError(JitsiTrackErrors.SCREENSHARING_USER_CANCELED));
210
                 errorCallback(new JitsiTrackError(JitsiTrackErrors.SCREENSHARING_USER_CANCELED));
209
             });
211
             });
212
+    },
213
+
214
+    /**
215
+     * Obtains a screen capture stream using getDisplayMedia.
216
+     *
217
+     * @param callback - The success callback.
218
+     * @param errorCallback - The error callback.
219
+     */
220
+    obtainScreenFromGetDisplayMediaRN(options, callback, errorCallback) {
221
+        logger.info('Using getDisplayMedia for screen sharing');
222
+
223
+        navigator.mediaDevices.getDisplayMedia({ video: true })
224
+            .then(stream => {
225
+                callback({
226
+                    stream,
227
+                    sourceId: stream.id });
228
+            })
229
+            .catch(() => {
230
+                errorCallback(new JitsiTrackError(JitsiTrackErrors
231
+                    .SCREENSHARING_USER_CANCELED));
232
+            });
210
     }
233
     }
211
 };
234
 };
212
 
235
 

Loading…
取消
儲存