diff --git a/src/rebuild.ts b/src/rebuild.ts index 0d269b0f..ef88103b 100644 --- a/src/rebuild.ts +++ b/src/rebuild.ts @@ -202,10 +202,14 @@ function buildNode( if (name === 'rr_height') { (node as HTMLElement).style.height = value; } + if (name === 'rr_mediaCurrentTime') { + (node as HTMLMediaElement).currentTime = n.attributes.rr_mediaCurrentTime as number + } if (name === 'rr_mediaState') { switch (value) { case 'played': - (node as HTMLMediaElement).play(); + (node as HTMLMediaElement).play().catch(e => console.warn("media playback error", e)); + break; case 'paused': (node as HTMLMediaElement).pause(); break; diff --git a/src/snapshot.ts b/src/snapshot.ts index c6249eba..14f87e37 100644 --- a/src/snapshot.ts +++ b/src/snapshot.ts @@ -464,6 +464,7 @@ function serializeNode( attributes.rr_mediaState = (n as HTMLMediaElement).paused ? 'paused' : 'played'; + attributes.rr_mediaCurrentTime = (n as HTMLMediaElement).currentTime } // scroll if ((n as HTMLElement).scrollLeft) {