Subversion Repositories php-qbpwcf

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
14 liveuser 1
<?php
2
 
3
namespace qbpwcf;
4
 
5
include("../allInOne.php");
6
 
7
?>
8
 
9
<div style="text-align:center;">
10
	<video style="width:90vw;height:90vh;" id="video" autoplay></video>
11
</div>
12
 
13
<script>
14
 
15
//在 load event 之前的狀態與事件綁定
16
//https://developer.mozilla.org/zh-TW/docs/Web/API/Document/readyState
17
//async function()代表該function 遇到 await 會等待
18
document.onreadystatechange = async function () {
19
 
20
	// alternative to DOMContentLoaded event
21
	//文件已經完成讀取和解析,但是其他的子資源,如「圖片樣式層次表」,仍然在讀取。這個狀態表示 DOMContentLoaded 事件已經被觸發。
22
	//可以開始使用 DOM 元素。
23
	if (document.readyState == "interactive"){
24
 
25
		//debug
26
		console.log('文件已經完成讀取和解析,但是其他的子資源,如「圖片樣式層次表」,仍然在讀取。這個狀態表示 DOMContentLoaded 事件已經被觸發.可以開始使用 DOM 元素');
27
 
28
		}//if end
29
 
30
	// alternative to load event
31
	//文件及子資源都完成讀取。這個狀態表示 load 事件即將被觸發。
32
	else if (document.readyState == 'complete'){
33
 
34
		//參考資料
35
		//https://developer.mozilla.org/en-US/docs/Web/API/Screen_Capture_API/Using_Screen_Capture
36
 
37
		//capture options
38
		var displayMediaOptions = {
39
			video:{
40
				cursor: 'always'
41
		  		},
42
		  	audio:{
43
				echoCancellation: true,
44
				noiseSuppression: true,
45
				sampleRate: 44100
46
		  		}
47
			};
48
 
49
		//詢問使用者要分享的畫面
50
		try{		
51
			//等待使用授權後再執行
52
			document.getElementById('video').srcObject=await navigator.mediaDevices.getDisplayMedia(displayMediaOptions);
53
			}
54
		catch(err){
55
			//error log
56
    			console.error('Error: ' + err);
57
  			}
58
		}
59
 
60
 
61
	}
62
 
63
 
64
 
65
 
66
</script>