Skip to content

Commit

Permalink
fix zoom
Browse files Browse the repository at this point in the history
  • Loading branch information
yashrajbharti committed Jun 12, 2024
1 parent 7bd6221 commit 3e3d22d
Showing 1 changed file with 17 additions and 15 deletions.
32 changes: 17 additions & 15 deletions js/stream.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ export const streamWebCamVideo = (isFrontCamera = true) => {
const constraints = {
video: {
facingMode: isFrontCamera ? "user" : "environment", // Toggle between front and rear cameras
zoom: true
zoom: true,
},
};
window.navigator.mediaDevices
Expand All @@ -19,12 +19,11 @@ export const streamWebCamVideo = (isFrontCamera = true) => {
const capabilities = track.getCapabilities();
const settings = track.getSettings();


const input = document.querySelector('input[type="range"]');

// Check whether zoom is supported or not.
if (!('zoom' in settings)) {
return Promise.reject('Zoom is not supported by ' + track.label);
if (!("zoom" in settings)) {
return Promise.reject("Zoom is not supported by " + track.label);
}

// Map zoom to a slider element.
Expand All @@ -33,22 +32,25 @@ export const streamWebCamVideo = (isFrontCamera = true) => {
input.step = capabilities.zoom.step;
input.value = settings.zoom;

document.querySelector(".zoom-multiplier").textContent = `${~~capabilities.zoom.min
}x ${~~(capabilities.zoom.max + 3 * capabilities.zoom.min) / 4}x ${~~(3 * capabilities.zoom.max + capabilities.zoom.min) / 4}x ${~~capabilities.zoom.max}x`

console.log("min:", capabilities.zoom.min)
console.log("max:", capabilities.zoom.max)
console.log("step:", capabilities.zoom.step)
console.log("value:", settings.zoom)

document.querySelector(".zoom-multiplier").textContent = `${~~capabilities
.zoom.min}x ${
~~(capabilities.zoom.max + 3 * capabilities.zoom.min) / 4
}x ${
~~(3 * capabilities.zoom.max + capabilities.zoom.min) / 4
}x ${~~capabilities.zoom.max}x`;

console.log("min:", capabilities.zoom.min);
console.log("max:", capabilities.zoom.max);
console.log("step:", capabilities.zoom.step);
console.log("value:", settings.zoom);

input.oninput = function (event) {
track.applyConstraints({ advanced: [{ zoom: event.target.value }] });
document.querySelector(".slider").style.left = input.value * 120 / capabilities.zoom.max * 1.08 - 5.5 + "px";
}
document.querySelector(".slider").style.left =
((input.value - 1) * 120) / capabilities.zoom.max + "px";
};
input.hidden = false;
document.querySelector(".range-container").style.visibility = "visible"
document.querySelector(".range-container").style.visibility = "visible";
})
.catch((e) => {
console.error(e);
Expand Down

0 comments on commit 3e3d22d

Please sign in to comment.