🚨 Shai-Hulud Strikes Again:834 Packages Compromised.Technical Analysis →
Socket
Book a DemoInstallSign in
Socket

media-element-syncer

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

media-element-syncer

Synchronise two or more html media elements.

latest
Source
npmnpm
Version
1.1.1
Version published
Maintainers
1
Created
Source

npm version

Media Element Syncer

Synchronise two or more HTML5 media elements. Similar to the unimplemented MediaController api.

How?

This works by continuously adjusing the playbackRate of the media elements, or performing a seek operation if the difference is too big.

Installation

npm install --save media-element-syncer

Usage

All media elements passed to addChild will remain synchronised with the source element.

MediaElementSyncer is eligible for garbage collection when there are no children.

import { MediaElementSyncer } from 'media-element-syncer';

const source = document.getElementById('source');
const destination1 = document.getElementById('destination1');
const destination2 = document.getElementById('destination2');
const syncer = new MediaElementSyncer(source);
syncer.addChild(destination1);
syncer.addChild(destination2, { offset: -1000 });

// syncer.removeChild(destination1);

Configuration

The optional second param to MediaElementSyncer takes an object which has the following optional properties:

  • refreshInterval: how often to resync the elements. (default: 200ms)
  • correctionTime: how many milliseconds into the future to aim for being in sync. (default: 500ms)
  • seekThreshold: if the time is out by more than this amount, a seek will be performed instead of adjusting the playbackRate. (default: 1000ms)

Demo

The code for the demo is here and there is a hosted version here.

Keywords

MediaController

FAQs

Package last updated on 08 Dec 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts