【发布时间】:2019-09-24 10:44:48
【问题描述】:
我在页面上有一个带有摄像头流的视频标签,我想更改 focusMode 和 focusDistance。
问题是我可以在 navigator.mediaDevices.getSupportedConstraints() 中看到 focusMode 和 focusDistance,但我没有看到它们,然后我尝试获取它们并从实际视频中更改,如下所示:
navigator.mediaDevices.getUserMedia(constraints)
.then((stream) => handleSuccess(stream, canPlay))
.catch(e => console.log(e))
function handleSuccess(stream, canPlay, video) {
const video = document.getElementById('video');
video.srcObject = stream
const track = stream.getVideoTracks()[0];
track.getCapabilities() // doesn't return focusMode or focusDistance.
}
总的来说,我想做这样的事情:
function onCapabilitiesReady(capabilities) {
if (!capabilities.focusDistance) {
return;
} else {
track.applyConstraints({
advanced : [{focusMode: "manual", focusDistance: 0.3}]
});
}
}
【问题讨论】:
标签: javascript webrtc getusermedia media-source mediastream