VideoPlayer
Wrappers Video.js's player instance with DIGIDECK-specific logic.
Constructor
Must pass in the player instance you want to wrapper. This is done by default in the VideojsService. The methods in this class will interact with this.player.
constructor(player) {
var self = this;
this.player = player;
}
Methods
disposePlayer
Description
- Destroys the video.js player instance (removes the html associated with a videojs player from the document).
Code Example
this.player = await digideckCore.videoJsService.initVideoJsPlayer(this.videoEl, this.source, {
config: {
controls: controls,
muted: !this.audio,
poster: this.posterImage,
loop: this.loop,
autoplay: false,
fill: this.stretching == 'fill' ? true : false
},
onPlayerReady: () => {}
});
this.player.dispose();
setPlayerControls
Description
- Sets the controls for the video.js player instance.
Options:
enabled: BooleanWill enable the controls for the player if true, disables the controls is false.
Code Example
this.player = await digideckCore.videoJsService.initVideoJsPlayer(this.videoEl, this.source, {
config: {
controls: controls,
muted: !this.audio,
poster: this.posterImage,
loop: this.loop,
autoplay: false,
fill: this.stretching == 'fill' ? true : false
},
onPlayerReady: () => {}
});
// remove player's controls
this.player.setPlayerControls(false);
setPlayerLoop
Description
- Sets looping for the video.js player instance.
Options:
enabled: BooleanWill loop the video if true, will not loop if false.
Code Example
this.player = await digideckCore.videoJsService.initVideoJsPlayer(this.videoEl, this.source, {
config: {
controls: controls,
muted: !this.audio,
poster: this.posterImage,
loop: this.loop,
autoplay: false,
fill: this.stretching == 'fill' ? true : false
},
onPlayerReady: () => {}
});
// start looping the player instance's video
this.player.setPlayerLoop(false);
setPlayerMuted
Description
- Sets whether the video.js video should be muted or not.
Options:
enabled: BooleanWill mute the video if true, will unmute if false.
Code Example
this.player = await digideckCore.videoJsService.initVideoJsPlayer(this.videoEl, this.source, {
config: {
controls: controls,
muted: !this.audio,
poster: this.posterImage,
loop: this.loop,
autoplay: false,
fill: this.stretching == 'fill' ? true : false
},
onPlayerReady: () => {}
});
// mute the video
this.player.setPlayerMuted(true);
startPlayback
Description
- Starts playing the video.js video.
Code Example
this.player = await digideckCore.videoJsService.initVideoJsPlayer(this.videoEl, this.source, {
config: {
controls: controls,
muted: !this.audio,
poster: this.posterImage,
loop: this.loop,
autoplay: false,
fill: this.stretching == 'fill' ? true : false
},
onPlayerReady: () => {}
});
// start playing right away, even though autoplay is false
this.player.startPlayback();
stopPlayback
Description
- Starts playing the video.js video. The difference between this and
pausePlaybackis thatstopPlaybackwill set the video time to 0 (restart) and toggle thehasStartedvalue on the player to show the poster again.
Code Example
this.player = await digideckCore.videoJsService.initVideoJsPlayer(
this.videoEl,
this.source,
{
config: {
controls: controls,
muted: !this.audio,
poster: this.posterImage,
loop: this.loop,
autoplay: false,
fill: this.stretching == 'fill' ? true : false
},
onPlayerReady: () => {}
}
);
onEditModeActive() {
// stop the player when edit mode is activated
this.player.stopPlayback();
}
pausePlayback
Description
- Starts playing the video.js video. The difference between this and
stopPlaybackis thatstopPlaybackwill set the video time to 0 (restart) and toggle thehasStartedvalue on the player to show the poster again.
Code Example
this.player = await digideckCore.videoJsService.initVideoJsPlayer(
this.videoEl,
this.source,
{
config: {
controls: controls,
muted: !this.audio,
poster: this.posterImage,
loop: this.loop,
autoplay: false,
fill: this.stretching == 'fill' ? true : false
},
onPlayerReady: () => {}
}
);
onEditModeActive() {
// pause the player when edit mode is activated
this.player.pausePlayback();
}