mirror of
https://github.com/imgfloat/server.git
synced 2026-02-05 11:49:25 +00:00
Fix mute pausing videos
This commit is contained in:
@@ -302,8 +302,9 @@ body {
|
||||
|
||||
.admin-identity {
|
||||
display: flex;
|
||||
gap: 14px;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
align-items: flex-start;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.header-actions.tight {
|
||||
|
||||
@@ -961,6 +961,7 @@ function applyMediaSettings(element, asset) {
|
||||
}
|
||||
const nextSpeed = asset.speed ?? 1;
|
||||
const effectiveSpeed = Math.max(nextSpeed, 0.01);
|
||||
const wasMuted = element.muted;
|
||||
if (element.playbackRate !== effectiveSpeed) {
|
||||
element.playbackRate = effectiveSpeed;
|
||||
}
|
||||
@@ -968,7 +969,19 @@ function applyMediaSettings(element, asset) {
|
||||
if (element.muted !== shouldMute) {
|
||||
element.muted = shouldMute;
|
||||
}
|
||||
element.pause();
|
||||
if (nextSpeed === 0) {
|
||||
element.pause();
|
||||
return;
|
||||
}
|
||||
const playPromise = element.play();
|
||||
if (playPromise?.catch) {
|
||||
playPromise.catch(() => {
|
||||
if (!shouldMute && wasMuted) {
|
||||
element.muted = true;
|
||||
element.play().catch(() => {});
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function renderAssetList() {
|
||||
|
||||
@@ -670,6 +670,7 @@ function applyMediaSettings(element, asset) {
|
||||
}
|
||||
const nextSpeed = asset.speed ?? 1;
|
||||
const effectiveSpeed = Math.max(nextSpeed, 0.01);
|
||||
const wasMuted = element.muted;
|
||||
if (element.playbackRate !== effectiveSpeed) {
|
||||
element.playbackRate = effectiveSpeed;
|
||||
}
|
||||
@@ -679,8 +680,16 @@ function applyMediaSettings(element, asset) {
|
||||
}
|
||||
if (nextSpeed === 0) {
|
||||
element.pause();
|
||||
} else if (element.paused) {
|
||||
element.play().catch(() => {});
|
||||
} else {
|
||||
const playPromise = element.play();
|
||||
if (playPromise?.catch) {
|
||||
playPromise.catch(() => {
|
||||
if (!shouldMute && wasMuted) {
|
||||
element.muted = true;
|
||||
element.play().catch(() => {});
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user