Calculator Tools Calculator Tools
Create

Green Object Speed Controller

Nov 23, 2023

About this app

Control the playback speed of a video based on green objects seen.

Blue Object Speed Controller Speed Up 🚀 Reset Speed 🔄 Count Blue Object 🔵 Blue Objects: 0

Related apps

Put this on your site

Source

                    <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1">

<title>Blue Object Speed Controller</title>
<meta name="description" content="Control the playback speed of a video based on blue objects seen.">
<meta name="keywords" content="blue, object, speed, control, video">

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<link href="https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap" rel="stylesheet">

<style>
body {
font-family: 'Press Start 2P', cursive;
background-color: #f0f0f0;
text-align: center;
padding-top: 50px;
}

.video-container {
position: relative;
padding-bottom: 56.25%;
height: 0;
overflow: hidden;
}

.video-container iframe {
position: absolute;
top:0;
left: 0;
width: 100%;
height: 100%;
}

.speed-controller {
margin-top: 20px;
}

.counter {
margin-top: 20px;
}

.btn {
background: #4CAF50;
color: white;
border: none;
padding: 10px 20px;
margin: 5px;
border-radius: 5px;
cursor: pointer;
}

.btn:hover {
background: #45a049;
}

.speed-display {
font-size: 20px;
margin-top: 15px;
}
</style>
</head>
<body>
<div id="main-container" class="container">
<div class="video-container">
<iframe id="youtube-video" src="https://www.youtube.com/embed/MrrcOsMMM54?start=735&enablejsapi=1" frameborder="0" allowfullscreen></iframe>
</div>

<div class="speed-controller">
<button class="btn" id="increase-speed">Speed Up 🚀</button>
<button class="btn" id="reset-speed">Reset Speed 🔄</button>
</div>

<div class="counter">
<button class="btn" id="count-object">Count Blue Object 🔵</button>
<div class="speed-display" id="object-counter">Blue Objects: 0</div>
</div>
</div>

<script type="text/javascript">
var video;
var blueObjectsCount = 0;
var speed = 1;

function onYouTubeIframeAPIReady() {
video = new YT.Player('youtube-video', {
events: {
'onReady': onPlayerReady
}
});
}

function onPlayerReady(event) {
document.getElementById('increase-speed').addEventListener('click', function() {
speed += 0.05;
video.setPlaybackRate(speed);
});

document.getElementById('reset-speed').addEventListener('click', function() {
speed = 1;
video.setPlaybackRate(speed);
});

document.getElementById('count-object').addEventListener('click', function() {
blueObjectsCount += 1;
document.getElementById('object-counter').innerText = "Blue Objects: " + blueObjectsCount;

if (blueObjectsCount % 5 === 0) {
speed += 0.05;
video.setPlaybackRate(speed);
}
});
}

// Load the YouTube IFrame Player API asynchronously.
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
</script>
</body>
</html>