You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 18 Next »

It is possible to implement a callback function, which executes code as soon as a player is loaded. You can define the function containing several actions that are called when the respective player is loaded.

Please note that when lazy loading is enabled, the Player will not be accessible through the API until a user clicks play. This is an inherent quality of the lazy loading feature, which prevents the Player from loading until a user clicks play. Find more information on lazy loading here.

The following code shows our recommendation for adding a player on load:

<!DOCTYPE html>
<html>
<head>
</head>
<body>

<div id="player_container"></div>

<script type="text/javascript">

	//create a new player instance (vmpro)
	function createPlayer() {
		var options = {
			success: function (playerApi) {
				playerApi.play();
				playerApi.forward(20000);
				playerApi.toggleMute();
			},
			parameters: {
				configType: 'vmpro',
				playerId: '<PlayerID>',
				videoId: '<VideoID>',
				apiUrl: '//d.video-cdn.net/play',
				flashPath: '//e.video-cdn.net/v2/'
			}
		};

		VideoPlayer.Collection.addPlayerById('player_container', options);
	}

	//add the player
	var head = document.getElementsByTagName('head')[0];
	var script = document.createElement('script');
	script.type = 'text/javascript';
	script.src = '//e.video-cdn.net/v2/embed.js';
	head.appendChild(script);
	
	script.onload = (function () {
		createPlayer();
	});

</script>

</body>
</html>

Please note that you need to specify necessary IDs and URLs.

Adding the Player Script

First you will want to take note of the way that the Player script has been added. Note the "script" tag at the end of your embed code:

<script src="//e.video-cdn.net/v2/embed.js"></script>

This tag specifies the source of the API script, the "embed.js" file. This must be included to make calls to the API work. However, it only needs to be added to the page once, regardless of how many players will be added to the page.

The code above adds the "embed.js" file by appending it to the "head" tag dynamically with JavaScript (lines 32-36). We have found this to be the best way to add the "embed.js" file because it facilitates correct timing and order of operations by allowing you to use the script's "onload" property to initiate the creation of your Player (line 39).

Creating the Player

Note the "createPlayer" function (line 12), which is called when the script loads. This function creates an "options" object to pass into the API's "addPlayerById" function (see the Adding or Removing a Player chapter for more details). The property "success" must be set within this object. This is where you can create your callback function, which you can use to call other API functions, which will execute as soon as the Player is successfully created. The above code will play, fast forward 20 seconds, and mute the audio (see the Basic Functions chapter for a list of other functions you can call here).

The "parameters" property (line 19) is created using the properties from your embed code. This allows you to set up an empty div, "player_container" as a placeholder and add these properties dynamically when the player is created.