webRTC的MediaDevices的常用屬性,方法,事件彙集

MediaDevices

介面提供訪問連線媒體輸入的裝置,如照相機和麥克風,以及螢幕共享等。它可以使你取得任何硬體資源的媒體資料。

屬性

從父類EventTarget中繼承的屬性。

事件

devicechange

返回 devicechange 事件型別的事件處理程式。 也可透過 ondevicechange 訪問

方法

從其父項繼承方法 EventTarget。

MediaDevices。enumerateDevices()

獲取有關係統中可用的媒體輸入和輸出裝置的一系列資訊。

getSupportedConstraints()

返回一個符合 MediaTrackSupportedConstraints (en-US) 的物件。該物件指明瞭 MediaStreamTrack 介面支援的可約束的屬性。檢視 Capabilities and constraints in Media Capture and Streams API (Media Stream) 去了解更多相關資訊。

getDisplayMedia()

提示使用者選擇顯示器或顯示器的一部分(例如視窗)以捕獲為MediaStream 以便共享或記錄。返回解析為MediaStream的Promise。

MediaDevices。getUserMedia()

在使用者透過提示允許的情況下,開啟系統上的相機或螢幕共享和/或麥克風,並提供 MediaStream 包含影片軌道和/或音訊軌道的輸入。

示例

‘use strict’;// Put variables in global scope to make them available to the browser console。var video = document。querySelector(‘video’);var constraints = window。constraints = {audio: false,video: true};var errorElement = document。querySelector(‘#errorMsg’);navigator。mediaDevices。getUserMedia(constraints)。then(function(stream) {var videoTracks = stream。getVideoTracks();console。log(‘Got stream with constraints:’, constraints);console。log(‘Using video device: ’ + videoTracks[0]。label);stream。onended = function() {console。log(‘Stream ended’);};window。stream = stream; // make variable available to browser consolevideo。srcObject = stream;})。catch(function(error) {if (error。name === ‘ConstraintNotSatisfiedError’) {errorMsg(‘The resolution ’ + constraints。video。width。exact + ‘x’ +constraints。video。width。exact + ‘ px is not supported by your device。’);} else if (error。name === ‘PermissionDeniedError’) {errorMsg(‘Permissions have not been granted to use your camera and ’ +‘microphone, you need to allow the page access to your devices in ’ +‘order for the demo to work。’);}errorMsg(‘getUserMedia error: ’ + error。name, error);});function errorMsg(msg, error) {errorElement。innerHTML += ‘

’ + msg + ‘

’;if (typeof error !== ‘undefined’) {console。error(error);}}

規範

規範

狀態

評論

Media Capture and Streams MediaDevices

Candidate Recommendation

初始定義

瀏覽器相容性

desktop

mobile

Chrome

Edge

Firefox

Internet Explorer

Opera

Safari

WebView Android

Chrome Android

Firefox Android

Opera Android

iOS Safari

Samsung Internet

MediaDevices

Full support47

Full support12

Full support33

No supportNo

Full support30

Full support11

Full support47

Full support47

Full support36

Full support30

Full support11

Full support5。0

devicechange event

Full support57

Full support12

Full support52

No supportNo

Full support34

Full support11

No supportNo

No supportNo

Compatibility unknown; please update this。?

Full support43

Full support11

No supportNo

enumerateDevices

Full support47

Full support12

Full support39Open

No supportNo

Full support34

Full support11

Full support47

Full support47

Full support39Open

Full support34

Full support11

Full support5。0

getDisplayMedia()

Full support72Open

Full support79Open

Full support66Open

No supportNo

Full support60Open

Full support13

No supportNofootnoteOpen

No supportNo

No supportNofootnoteOpen

No supportNo

No supportNo

No supportNo

Audio capture support

Full support74footnoteOpen

Full support≤ 79footnoteOpen

No supportNo

No supportNo

Compatibility unknown; please update this。?

No supportNo

No supportNo

No supportNo

No supportNo

No supportNo

No supportNo

No supportNo

getSupportedConstraints

Full support53

Full support12

Full support44

No supportNo

Full support40

Full support11

Full support53

Full support52

Full support50

Full support41

Full support11

Full support6。0

getUserMedia

Full support53footnoteOpen

Full support12

Full support36footnoteOpen

No supportNo

Full support40footnoteOpen

Full support11

Full support53

Full support53footnoteOpen

Full support36footnoteOpen

Full support41footnoteOpen

Full support11

Full support6。0

Secure context required

Full support53

Full support79

Full support68

No supportNo

Full support40

Compatibility unknown; please update this。?

Full support53

Full support53

Full support68

Full support41

Compatibility unknown; please update this。?

Full support6。0

ondevicechange

Full support57

Full support12

Full support52Open

No supportNo

Full support34

Full support11

No supportNo

No supportNo

Full supportYes

Full support34

Full support11

No supportNo

Stereo audio capture

Compatibility unknown; please update this。?

Compatibility unknown; please update this。?

Full support55

No supportNo

Compatibility unknown; please update this。?

No supportNo

Compatibility unknown; please update this。?

Compatibility unknown; please update this。?

No supportNo

Compatibility unknown; please update this。?

No supportNo

Compatibility unknown; please update this。?