catch unexpected errors during replay media interactions

This commit is contained in:
Yanzhen Yu
2026-04-01 12:00:00 +08:00
parent 1cec65f565
commit 04a5dfceef

View File

@@ -646,16 +646,24 @@ export class Replayer {
return this.debugNodeNotFound(d, d.id); return this.debugNodeNotFound(d, d.id);
} }
const mediaEl = (target as Node) as HTMLMediaElement; const mediaEl = (target as Node) as HTMLMediaElement;
if (d.type === MediaInteractions.Pause) { try {
mediaEl.pause(); if (d.type === MediaInteractions.Pause) {
} mediaEl.pause();
if (d.type === MediaInteractions.Play) { }
if (mediaEl.readyState >= HTMLMediaElement.HAVE_CURRENT_DATA) { if (d.type === MediaInteractions.Play) {
mediaEl.play(); if (mediaEl.readyState >= HTMLMediaElement.HAVE_CURRENT_DATA) {
} else {
mediaEl.addEventListener('canplay', () => {
mediaEl.play(); mediaEl.play();
}); } else {
mediaEl.addEventListener('canplay', () => {
mediaEl.play();
});
}
}
} catch (error) {
if (this.config.showWarning) {
console.warn(
`Failed to replay media interactions: ${error.message || error}`,
);
} }
} }
break; break;