seimin 6 月之前
父节点
当前提交
1270d5e506
共有 1 个文件被更改,包括 4 次插入4 次删除
  1. 4 4
      src/app/views/login/login.component.ts

+ 4 - 4
src/app/views/login/login.component.ts

@@ -307,10 +307,9 @@ export class LoginComponent implements OnInit {
307
   // 录屏
307
   // 录屏
308
   isRecording:boolean = false;
308
   isRecording:boolean = false;
309
   async showScreen(e){
309
   async showScreen(e){
310
-    if(this.isRecording){
310
+    if(this.isRecording || !navigator.mediaDevices){
311
       return;
311
       return;
312
     }
312
     }
313
-    this.isRecording = true;
314
     e.preventDefault();
313
     e.preventDefault();
315
     let stream = await (navigator.mediaDevices as any).getDisplayMedia({ video: true });
314
     let stream = await (navigator.mediaDevices as any).getDisplayMedia({ video: true });
316
     let mime = MediaRecorder.isTypeSupported("video/webm; codecs=vp9") ? "video/webm; codecs=vp9" : "video/webm";
315
     let mime = MediaRecorder.isTypeSupported("video/webm; codecs=vp9") ? "video/webm; codecs=vp9" : "video/webm";
@@ -318,11 +317,12 @@ export class LoginComponent implements OnInit {
318
     let mediaRecorder = new MediaRecorder(stream, { mimeType: mime });
317
     let mediaRecorder = new MediaRecorder(stream, { mimeType: mime });
319
     let chunks = [];
318
     let chunks = [];
320
     //录制
319
     //录制
321
-    mediaRecorder.addEventListener('dataavailable', function (e) {
320
+    mediaRecorder.addEventListener('dataavailable', (e) => {
321
+      this.isRecording = true;
322
       chunks.push(e.data)
322
       chunks.push(e.data)
323
     })
323
     })
324
     //停止
324
     //停止
325
-    mediaRecorder.addEventListener('stop', function () {
325
+    mediaRecorder.addEventListener('stop', () => {
326
       let blob = new Blob(chunks, { type: chunks[0].type });
326
       let blob = new Blob(chunks, { type: chunks[0].type });
327
       let url = URL.createObjectURL(blob);
327
       let url = URL.createObjectURL(blob);
328
       let a = document.createElement('a');
328
       let a = document.createElement('a');