DynTube API
  • Welcome!
  • Key Concepts
  • Quick Start
  • Reference
    • Videos
      • Video Upload via File (Server Side)
      • Video Upload via URL (server side)
      • HTML-Form Client Side Video Uploads
      • Get Video Status
      • Get Videos
      • Get Video
      • Update Video
      • Delete Video
      • Download Original Video
      • Get Video for Mobile App/Custom Player
      • Update Video Image
      • Add Video Captions/Chapters/Subtitles
      • Delete Video Captions/Subtitles/Chapters
      • Create Expirable Links
      • Get Collected Emails
      • Setting Up Webhooks
      • Copy call-to-action (CTA) to Videos
      • Token Authentication
    • Projects
      • Create Project
      • Update a Project
      • Get Projects
      • Get a Project
      • Delete a Project
      • Set default CTA for Project
    • Live Streaming
      • Create a Live Stream
      • Update a Live Stream
      • Get Live Streams
      • Get a Live Stream
      • Count Live Streams
      • Live Streams Limit
      • Get Live Streaming Recording
      • Delete a Live Stream
      • Service and Regions for live streams
    • Channels
      • Get Channels
      • Get Channel
      • Delete Channel
    • Subscriptions
      • Create a Plan
      • Create a Member
      • Attach Plan To Member
      • Get Plans
      • Get Members
      • Get Member's Plans
      • Delete a Plan
    • Analytics
      • Use your User Ids in Analytics
      • Get Video Analytics
    • Javascript Events Methods
      • Plain Javascript Events & Methods
      • Control the Player using React
      • Control the Player in Vue.js
    • Developer Resources
      • How to embed DynTube player in Next.Js
      • How to embed the video player in React
      • How to play DynTube videos in React Native
      • ExoPlayer app to play HLS videos
      • How to embed videos & channels dynamically
      • How to Import Vimeo Videos into DynTube
Powered by GitBook
On this page
  • Video Player Events & Mwthods for Javascript-based Embed Code
  • Demo
  • Video Player Methods
  • Video Player Events
  • JQuery Examples
  • Video Player Events and Method for Iframe Embed Code
  1. Reference
  2. Javascript Events Methods

Plain Javascript Events & Methods

PreviousJavascript Events MethodsNextControl the Player using React

Last updated 8 months ago

This page describes how you can handle the events of the DynTube Video player using Javascript.

Video Player Events & Mwthods for Javascript-based Embed Code

If you want to see a working demo of these options, you can find it at the following link.

Demo

//You can use the 'dyntubePlayerReady' event to get access to the video & the player.
window.addEventListener("dyntubePlayerReady", (event) => {
      var video = event.video;
      var player = event.player;
});

Video Player Methods

  window.addEventListener("dyntubePlayerReady", (event) => {

            var video = event.video;
            var player = event.player;

            //Below are some common methods that you can use

            //Mute video
            player.muted(true);
            
            //Play video
            player.play();
    
            //Pause video
            player.pause();

            //Unmute video
            player.muted(false);

            //a decimal number between 0 (muted) and 1.0 (full volume)
            //Set volume to 90%
            player.volume(.9);

            //Set volume to 30%
            player.volume(.3);

            //Forward 10 seconds
            player.currentTime(player.currentTime() + 10);

            //Backward 10 seconds
            player.currentTime(player.currentTime() - 10);

            //set video playback rate to 1x
            player.playbackRate(1);

            //set video playback rate to 2x
            player.playbackRate(2);



        });

Video Player Events

Below are some examples to handle video player events.



        window.addEventListener("dyntubePlayerReady", () => {
           
            var video = event.video;
            var player = event.player;

            //This event gets fired when time is update for the video.
            player.on('timeupdate', function (e) {
                console.log(player.currentTime());
            });

        
            //This events get fired when video starts playing.
            player.on('play', function () {
            console.log('play');
            });
        
            //This event gets fired when video is paused.
            player.on('pause', function () {
            console.log('pause');
            });

        
            //This event gets fired when video is ended.
            player.on('ended', function () {
            console.log('ended');
            });
        
            //This events get fired when there is a volume change
            player.on('volumechange', function () {
                console.log('volumechange');
            });


        });

JQuery Examples

Below are some Jquery examples to handle the video player on button clicks.


        //Play the video when the button with Id 'btnPlay' is clicked

        $('#btnPlay').click(() => {
            player.play();
        });
        //Pause the video when button with Id 'btnPause' is clicked
        $('#btnPause').click(() => {
           player.pause();
        });
        //Mute the video when button with Id 'btnMute' is clicked
        $('#btnMute').click(() => {
        player.muted(true);
        });
        //Mute the video when button with Id 'btnUnMute' is clicked
        $('#btnUnMute').click(() => {
        player.muted(false);
        });

Video Player Events and Method for Iframe Embed Code

Here is a working demo of with Iframe embed code.

Here is how you can implement events and methods

 const player = new dyntube.Player(
        document.querySelector(".dyntube-responsive-iframe")
      );

      var playerTime = 0;

      player.on("ready", function () {
        console.log("Player is ready!");


        player.on("play", function () {
            console.log("Video started playing!");
          });

          player.on("pause", function () {
            console.log("Video paused!");
          });

          player.on("volumechange", function (volumeLevel) {
            console.log("Video volume changed:", volumeLevel);
          });

          player.on("timeupdate", function (currentTime) {
            playerTime=currentTime;
            console.log("Video time updated:", currentTime);
          });

          player.on("ended", function () {
            console.log("Video ended!");
          });

          player.on("fullscreenchange", function (isFullscreen) {
            console.log(
              "Fullscreen state changed:",
              isFullscreen ? "Entered Fullscreen" : "Exited Fullscreen"
            );
          });


        document.getElementById("btnPlay").addEventListener("click", () => {
          player.play();
        });

        document.getElementById("btnPause").addEventListener("click", () => {
          player.pause();
        });

        document.getElementById("btnMute").addEventListener("click", () => {
          player.mute();
        });

        document.getElementById("btnUnmute").addEventListener("click", () => {
          player.unmute();
        });

        document.getElementById("btnVolumeUp").addEventListener("click", () => {
          player.setVolume(1.0); // Full volume
        });

        document.getElementById("btnVolumeDown").addEventListener("click", () => {
          player.setVolume(0.3); // Lower volume
        });

        document.getElementById("btnFullscreen").addEventListener("click", () => {
          player.enterFullscreen();
        });

        document.getElementById("btnExitFullscreen").addEventListener("click", () => {
          player.exitFullscreen();
        });

        document.getElementById("btnSeekForward").addEventListener("click", () => {
          player.seek(playerTime + 10); // Seek forward by 10 seconds
        });

        document.getElementById("btnSeekBackward").addEventListener("click", () => {
          player.seek(playerTime - 10); // Seek backward by 10 seconds
        });
      });
https://www-demos.s3.us-east-1.amazonaws.com/js-player-options.html
PLAYER EVENTS & OPTIONS
Logo
Embed Player Controls
Logo