Skip to content
Related Articles

Related Articles

How to change video playing speed using JavaScript ?
  • Last Updated : 12 Jan, 2021
GeeksforGeeks - Summer Carnival Banner

In this article, we will see how we can change playback speed of videos embedded in an HTML document using an HTML5 video tag.

We can set the new playing speed using playbackRate attribute. It has the following syntax.

Syntax:

let video = document.querySelector('video')
video.playbackRate = newPlaybackRate

We can also set the default playing speed using defaultPlaybackRate attribute. It has the following syntax.

Syntax:



 let video = document.querySelector('video')
 video.defaultPlaybackRate = 4
 video.load()

Example:

HTML




<!DOCTYPE html>
<html lang="en">
  
<head>
    <meta charset="UTF-8">
  
    <meta name="viewport" content=
        "width=device-width, initial-scale=1.0">
  
    <style>
        body {
            text-align: center;
            margin-top: 2%;
        }
  
        h1 {
            color: green;
        }
  
        p {
            margin-top: 2%;
        }
  
        button {
            margin-right: 20px;
        }
    </style>
</head>
  
<body>
    <h1>GeeksforGeeks</h1>
  
    <video width="890" height="500" controls loop>
        <source src="sample.mp4" type="video/mp4">
        Your browser does not support the video tag.
    </video>
  
    <p>
        <button onclick="increase()">Increase Speed</button>
        <button onclick="decrease()">Decrease Speed</button>
    </p>
  
    <script>
        let video = document.querySelector('video');
  
        // Set the default playing speed
        video.defaultPlaybackRate = 0.5
  
        // Loading the video after setting 
        video.load();
  
        function increase() {
  
            // Increasing the playing speed by 1
            video.playbackRate += 1;
        }
  
        function decrease() {
  
            // Decreasing the playing speed by 1
            if (video.playbackRate > 1)
                video.playbackRate -= 1;
        }
    </script>
</body>
  
</html>

Output:

full-stack-img

My Personal Notes arrow_drop_up
Recommended Articles
Page :