MediaDevices
Baseline
Widely available
*
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2017.
* Some parts of this feature may have varying levels of support.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Giao diện MediaDevices của Media Capture and Streams API cung cấp quyền truy cập vào các thiết bị đầu vào phương tiện đã kết nối như camera và microphone, cũng như chia sẻ màn hình. Về bản chất, nó cho phép bạn truy cập bất kỳ nguồn phần cứng nào tạo ra dữ liệu phương tiện.
Thuộc tính instance
Kế thừa các thuộc tính từ giao diện cha, EventTarget.
Phương thức instance
Kế thừa các phương thức từ giao diện cha, EventTarget.
enumerateDevices()-
Lấy một mảng thông tin về các thiết bị đầu vào và đầu ra phương tiện có sẵn trên hệ thống.
getSupportedConstraints()-
Trả về một đối tượng phù hợp với
MediaTrackSupportedConstraints, cho biết những thuộc tính có thể ràng buộc nào được hỗ trợ trên giao diệnMediaStreamTrack. Xem Media Streams API để tìm hiểu thêm về các ràng buộc và cách sử dụng chúng. getDisplayMedia()-
Nhắc người dùng chọn một màn hình hoặc một phần của màn hình (chẳng hạn như một cửa sổ) để thu lại dưới dạng
MediaStreamcho mục đích chia sẻ hoặc ghi hình. Trả về một promise được resolve thànhMediaStream. getUserMedia()-
Với sự cho phép của người dùng thông qua hộp thoại nhắc, bật camera và/hoặc microphone trên hệ thống và cung cấp một
MediaStreamchứa track video và/hoặc audio với nguồn đầu vào. selectAudioOutput()Experimental-
Nhắc người dùng chọn một thiết bị đầu ra âm thanh cụ thể.
Sự kiện
devicechange-
Được kích hoạt khi một thiết bị đầu vào hoặc đầu ra phương tiện được gắn vào hoặc tháo ra khỏi máy tính của người dùng.
Ví dụ
// Đặt các biến trong phạm vi toàn cục để chúng có thể dùng trong console của trình duyệt.
const video = document.querySelector("video");
const constraints = {
audio: false,
video: true,
};
navigator.mediaDevices
.getUserMedia(constraints)
.then((stream) => {
const videoTracks = stream.getVideoTracks();
console.log("Got stream with constraints:", constraints);
console.log(`Using video device: ${videoTracks[0].label}`);
stream.onremovetrack = () => {
console.log("Stream ended");
};
video.srcObject = stream;
})
.catch((error) => {
if (error.name === "OverconstrainedError") {
console.error(
`The resolution ${constraints.video.width.exact}x${constraints.video.height.exact} px is not supported by your device.`,
);
} else if (error.name === "NotAllowedError") {
console.error(
"You need to grant this page permission to access your camera and microphone.",
);
} else {
console.error(`getUserMedia error: ${error.name}`, error);
}
});
Thông số kỹ thuật
| Specification |
|---|
| Media Capture and Streams> # mediadevices> |
Tương thích trình duyệt
Xem thêm
- Media Capture and Streams API: API mà giao diện này là một phần của nó.
- Screen Capture API: API định nghĩa phương thức
getDisplayMedia(). - WebRTC API
Navigator.mediaDevices: Trả về một tham chiếu đến đối tượngMediaDevicescó thể dùng để truy cập thiết bị.- CameraCaptureJS: Quay và phát lại video HTML bằng
MediaDevicesvà MediaStream Recording API - OpenLang: Ứng dụng web phòng học ngôn ngữ video HTML dùng
MediaDevicesvà MediaStream Recording API để ghi video