MediaCapabilities: phương thức encodingInfo()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2022.
Note: This feature is available in Web Workers.
Phương thức encodingInfo() của giao diện MediaCapabilities trả về một promise được thực hiện với khả năng mã hóa phương tiện của cấu hình phương tiện được kiểm tra. Promise chứa ba thuộc tính boolean supported, smooth, và powerefficient, mô tả mức độ tương thích của thiết bị với loại phương tiện.
Cú pháp
encodingInfo(configuration)
Tham số
configuration-
Một đối tượng với thuộc tính
typevà hoặc thuộc tínhvideohoặcaudiochứa cấu hình của loại phù hợp:type-
Loại phương tiện đang được kiểm tra. Nhận một trong hai giá trị:
record-
Đại diện cho cấu hình ghi phương tiện, ví dụ sử dụng
MediaRecorder. webrtc-
Đại diện cho cấu hình được truyền qua phương tiện điện tử (ví dụ sử dụng
RTCPeerConnection). Lưu ý: Firefox sử dụngtransmissioncho loại này, vàwebrtckhông hoạt động. transmissionNon-standard-
Từ đồng nghĩa của
webrtcđể sử dụng trong Firefox.
video-
Đối tượng cấu hình cho nguồn phương tiện video. Có các thuộc tính sau:
audio-
Đối tượng cấu hình cho nguồn phương tiện âm thanh. Có các thuộc tính sau:
contentType-
Chuỗi chứa loại MIME âm thanh hợp lệ, và (tùy chọn) tham số
codecs. channels-
Số kênh được sử dụng bởi track âm thanh.
bitrate-
Số bit được sử dụng để mã hóa một giây của tệp âm thanh.
samplerate-
Số mẫu âm thanh tạo nên một giây của tệp âm thanh.
Giá trị trả về
Một Promise được thực hiện với một đối tượng chứa ba thuộc tính Boolean:
supported-
truenếu nội dung phương tiện có thể được mã hóa. Nếu không, làfalse. smooth-
truenếu việc phát lại phương tiện sẽ mượt mà (chất lượng cao). Nếu không làfalse. powerEfficient-
truenếu việc phát lại phương tiện sẽ tiết kiệm điện. Nếu không, làfalse.
Ngoại lệ
TypeError-
Được ném nếu
configurationtruyền vào phương thứcencodingInfo()không hợp lệ, có thể vì loại không phải video hoặc audio,contentTypekhông phải loại MIME codec hợp lệ, hoặc có lỗi khác trong cấu hình phương tiện.
Ví dụ
// Create media configuration to be tested
const mediaConfig = {
type: "record", // or 'transmission'
video: {
contentType: "video/webm;codecs=vp8.0", // valid content type
width: 1920, // width of the video
height: 1080, // height of the video
bitrate: 120000, // number of bits used to encode 1s of video
framerate: 48, // number of frames making up that 1s.
},
};
// check support and performance
navigator.mediaCapabilities.encodingInfo(mediaConfig).then((result) => {
console.log(
`This configuration is ${result.supported ? "" : "not "}supported,`,
);
console.log(`${result.smooth ? "" : "not "}smooth, and`);
console.log(`${result.powerEfficient ? "" : "not "}power efficient.`);
});
Thông số kỹ thuật
| Specification |
|---|
| Media Capabilities> # dom-mediacapabilities-encodinginfo> |