概述`navigator.mediaCapabilities.encodingInfo` 返回编码配置的支持性(`supported`)、流畅度(`smooth`)与能效(`powerEfficient`),帮助在拍摄与录制场景中做参数选型与降级策略。用法/示例const enc = await navigator.mediaCapabilities.encodingInfo({ type: 'record', video: { contentType: 'video/webm;codecs=vp8', width: 1920, height: 1080, bitrate: 4000000, framerate: 30 } }) if (enc.supported && enc.smooth && enc.powerEfficient) { const stream = await navigator.mediaDevices.getUserMedia({ video: { width: 1920, height: 1080, frameRate: 30 } }) const rec = new MediaRecorder(stream, { mimeType: 'video/webm;codecs=vp8', videoBitsPerSecond: 4000000 }) } const audioEnc = await navigator.mediaCapabilities.encodingInfo({ type: 'record', audio: { contentType: 'audio/webm;codecs=opus', channels: 2, bitrate: 128000, samplerate: 48000 } }) 工程建议按设备能力选择分辨率与码率,优先平滑与能效。对不支持的配置回退至更低规格,并记录能力探测结果用于后续会话。与 `MediaRecorder`、`getUserMedia` 的约束协同,避免动态切换导致的中断。参考与验证MDN:MediaCapabilities — https://developer.mozilla.org/docs/Web/API/Media_Capabilities_APIMDN:`encodingInfo` — https://developer.mozilla.org/docs/Web/API/MediaCapabilities/encodingInfoweb.dev:Media Capabilities — https://web.dev/articles/media-capabilities

发表评论 取消回复