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 MediaUnit
s and MediaEvent
s created from the configuration
supplied to the builder instance. You can feed this array into the player instance
for playback.