Cloudinary Video Player

API and Events

API and Events documentation

Example Code:

      
        <video
          id="player"
          controls
          muted
          class="cld-video-player"
          width="600"
        ></video>

        <div>
          <button id="vid-seek-minus" class="btn btn-default">-10 seconds</button>
          <button id="vid-seek-plus" class="btn btn-default">+10 seconds</button>
          <button id="vid-play-prev" class="btn btn-default">Previous</button>
          <button id="vid-play-next" class="btn btn-default">Next</button>
          <button id="vid-play" class="btn btn-default">Play</button>
          <button id="vid-pause" class="btn btn-default">Pause</button>
          <button id="vid-stop" class="btn btn-default">Stop</button>
          <button id="vid-mute" class="btn btn-default">Mute</button>
          <button id="vid-unmute" class="btn btn-default">Unmute</button>
          <button id="vid-volume-minus" class="btn btn-default">Volume -10%</button>
          <button id="vid-volume-plus" class="btn btn-default">Volume +10%</button>
          <button id="vid-maximize" class="btn btn-default">Maximize</button>
          <button id="vid-toggle-controls" class="btn btn-default">Toggle Controls</button>
        </div>

        <div id="vid-events" class="alert alert-secondary text-center mt-4 p-4 w-100" style="overflow: scroll; height: 150px"></div>
      

      
        var cld = cloudinary.Cloudinary.new({ cloud_name: 'demo' });

        var player = cld.videoPlayer('player');

        player.playlist([
          'snow_deer',
          'sea_turtle',
          'snow_horses'
        ], { autoAdvance: 0 }).play();

        // Button 'click' event handlers
        document.querySelector("#vid-seek-minus").addEventListener('click', function() {
          player.currentTime(player.currentTime() - 10);
        });

        document.querySelector("#vid-seek-plus").addEventListener('click', function() {
          player.currentTime(player.currentTime() + 10);
        });

        document.querySelector("#vid-play-prev").addEventListener('click', function() {
          player.playPrevious();
        });

        document.querySelector("#vid-play").addEventListener('click', function() {
          player.play();
        });

        document.querySelector("#vid-play-next").addEventListener('click', function() {
          player.playNext();
        });

        document.querySelector("#vid-pause").addEventListener('click', function() {
          player.pause();
        });

        document.querySelector("#vid-stop").addEventListener('click', function() {
          player.stop();
        });

        document.querySelector("#vid-mute").addEventListener('click', function() {
          player.mute();
        });

        document.querySelector("#vid-unmute").addEventListener('click', function() {
          player.unmute();
        });

        document.querySelector("#vid-volume-minus").addEventListener('click', function() {
          player.volume(player.volume() - 0.1);
        });

        document.querySelector("#vid-volume-plus").addEventListener('click', function() {
          player.volume(player.volume() + 0.1);
        });

        document.querySelector("#vid-maximize").addEventListener('click', function() {
          player.maximize();
        });

        document.querySelector("#vid-toggle-controls").addEventListener('click', function() {
          player.controls(!player.controls());
        });

        // Register to some video player events
        var eventTypes = ['play', 'pause', 'volumechange', 'mute', 'unmute', 'fullscreenchange',
          'seek', 'sourcechanged', 'percentsplayed', 'ended'];

        var eventsDiv = document.querySelector('#vid-events');
        eventTypes.forEach(function(eventType) {
          player.on(eventType, function(event) {
            var eventStr = eventType;
            if (event.eventData) {
              eventStr = eventStr + ": " + JSON.stringify(event.eventData);
            }
            var text = document.createTextNode(eventStr);
            var textDiv = document.createElement('div');
            textDiv.appendChild(text);
            eventsDiv.appendChild(textDiv);
            updateEvents();
          })
        });

        function updateEvents() {
          var eventsDiv = document.querySelector('#vid-events');
          eventsDiv.scrollTop = eventsDiv.scrollHeight;
        }