Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: updated info

It is possible This tutorial shows you how to implement a callback function , which executes that allows you to execute code as soon as a player is loaded. You can define the function containing Player loads. The function can contain several actions that are called when the API of the respective player is loadedPlayer loads. The code in this tutorial introduces our recommended approach for dynamically adding a player on load.

Note

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 recommended approach for adding a player on loadThis example will play and mute the video as soon as the Player loads:

Code Block
languagetext
linenumberstrue
<!DOCTYPE html>
<html>
<head>
</head>
<body>
 
<div id="player_container"></div>
 
<script type="text/javascript">
 
    //create a new player instance (vmpro)
    function createPlayer() {
        var optionsinitPlayer = {
            success: function (playerApi) {
                playerApi.play();
                playerApi.forward(10000);
                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', optionsinitPlayer);
    }
 
    //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>
Note

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


Note the addition of the "success" property (line 14). This should define the function you'd like to execute as soon as the Player loads (the callback function). By adding this to your "initPlayer" object and passing it into the second argument of the "addPlayerById" function (line 28), a Player object will be sent to your callback function, which you can then use to make API calls.

Info

For a list of other API functions available, see the Basic Functions Reference.


Adding the Player Script

First take note of the way that the Player script has been added in this example.

Adding the Player Script

First take note of the way that the Player script has been added. Locate the "script" tag at the end of your embed code:

Code Block
languagetext
<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 3231-3635). 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 3937). 

Creating the Player

Note Also note the "createPlayer" function (line 12), which is called when the script loads. This function creates an "optionsinitPlayer" 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 10 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 should use the attributes 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.