Skip to main content

MediaBuilder

Orchestrator for generating MediaPlayer playlists. Use this to insert advertising units to your session, or to generate a playlist programatically, via JSON input.

Constructor

new MediaBuilder(player, unitsopt) → {MediaBuilder}

Constructs a MediaBuilder instance.

Parameters:
Example
const unit = new MediaUnit(videoUrl);
const player = new MediaPlayer('player');
const builder = new MediaBuilder(player, unit);
const units = await builder.mediaUnits();

player.playMediaUnits(units);
player.setMute();

Methods

(static) .overlayFromJSON(overlayConfiguration)

Generate a MediaOverlay instance based on a JSON configuration object.

Parameters:
Example
const unit = new MediaUnit(videoUrl);
const overlay = MediaBuilder.overlayFromJSON({
   type: 'image',
   parameters: {
     url: imageUrl,
   },
});

unit.addOverlays([overlay]);

(static) .unitFromJSON(unitConfiguration)

Generate a MediaUnit based on a JSON configuration object.

Parameters:
Example
const unit = MediaBuilder.unitFromJSON({
   url: videoUrl,
   overlays: [
     {
       type: 'image',
       parameters: {
         url: imageUrl,
       },
     }
   ],
});

player.playMediaUnits([unit]);

.configureFromJSON(configuration)

Generate a playlist based on a remote configuration service.

Parameters:
Example
const player = new MediaPlayer('player');
const builder = new MediaBuilder(player);

builder.configureFromJSON({
   content: [
     { url: videoUrl }
   ],
   ads: {
     adBreaks: {
       preContent: [
         {
           urls: [ vastUrl ]
         }
       ]
     }
   }
});

player.playMediaUnits(await builder.mediaUnits());
player.setMute();

(async) .configureFromURL(url)

Generate a playlist based on a remote configuration service.

Parameters:
Example
const player = new MediaPlayer('player');
const builder = new MediaBuilder(player);

await builder.configureFromURL(jsonUrl);

player.playMediaUnits(await builder.mediaUnits());
player.setMute();

(async) .mediaUnits() → {Array.<(MediaUnit|MediaEvent)>}

Retrieve the array of MediaUnits and MediaEvents created from the configuration supplied to the builder instance. You can feed this array into the player instance for playback.

Example
player.playMediaUnits(await builder.mediaUnits());