web: keep moq-watch muted until user gesture
This commit is contained in:
parent
ad81b9791a
commit
5a28a24294
2 changed files with 4 additions and 19 deletions
|
|
@ -162,6 +162,7 @@ function mountPlayer(relayUrl, name) {
|
|||
watch.setAttribute("name", name);
|
||||
watch.setAttribute("path", name);
|
||||
watch.setAttribute("volume", "1");
|
||||
watch.setAttribute("muted", "");
|
||||
|
||||
// Force WebTransport in-browser; websocket fallback has shown degraded
|
||||
// media behavior (especially audio) against public relay paths.
|
||||
|
|
@ -199,22 +200,8 @@ function mountPlayer(relayUrl, name) {
|
|||
};
|
||||
document.addEventListener("pointerdown", unlockAudio, { once: true });
|
||||
video.addEventListener("pointerdown", unlockAudio, { once: true });
|
||||
setHint(`Live: subscribed to ${name} (tap video to unmute)`, "warn");
|
||||
void video.play().catch(() => {});
|
||||
|
||||
// If video-element rendering stalls, fall back to canvas rendering.
|
||||
window.setTimeout(() => {
|
||||
const stalled = video.readyState < 2 || (video.currentTime === 0 && !video.paused);
|
||||
if (!stalled) return;
|
||||
const canvas = document.createElement("canvas");
|
||||
canvas.className = "canvas";
|
||||
try {
|
||||
video.remove();
|
||||
watch.appendChild(canvas);
|
||||
setHint(`Live: subscribed to ${name} (canvas fallback)`, "warn");
|
||||
} catch (_) {
|
||||
// Ignore fallback errors.
|
||||
}
|
||||
}, 9000);
|
||||
bindPlayerSignals(watch, name);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue