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:
- 
              
player( MediaPlayer )A player instance
 - 
              
units( MediaUnit | MediaEvent | Array.<(MediaUnit|MediaEvent)> ) <optional>
Media events and/or units to make up the initial playlist.
 
Methods
(static) .overlayFromJSON(overlayConfiguration)
Generate a MediaOverlay instance based on a JSON configuration object.
Parameters:
- 
            
overlayConfiguration( Object )The JSON overlay configuration object. See the configuration docs.
 
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:
- 
            
unitConfiguration( Object )The JSON unit configuration object. See the configuration docs.
 
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:
- 
            
configuration( Object )The player configuration object. See the configuration docs.
 
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:
- 
            
url( string )The URL for the player configuration JSON. See the configuration docs.
 
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.