Vine Video Repeater
About this app
Watch the Vine video 'When mic wants you stop' 35056 times in a loop.
Vine Video Repeater Playing video... 🔁
Related apps
Put this on your site
Source
<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>Vine Video Repeater</title>
<meta name="description" content="Watch the Vine video 'When mic wants you stop' 35056 times in a loop.">
<meta name="keywords" content="Vine, YouTube, Loop, Video Repeater, When mic wants you stop">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
<link href="https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap" rel="stylesheet">
<link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
<script type="text/javascript">
try {
// App Javascript Goes Here. Place your entire script content inside the try block for error handling.
let playCount = 0;
const targetPlayCount = 35056;
const videoId = 'd7i37ZVKs1g';
function onYouTubeIframeAPIReady() {
new YT.Player('vine-video', {
videoId: videoId,
events: {
'onStateChange': onPlayerStateChange
}
});
}
function onPlayerStateChange(event) {
if (event.data === YT.PlayerState.ENDED) {
playCount++;
if (playCount < targetPlayCount) {
event.target.playVideo();
} else {
$('#play-count').text('Video has been played ' + targetPlayCount + ' times. Loop complete!');
}
}
}
$(document).ready(function() {
// Load the IFrame Player API code 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);
});
} catch (error) {
// This will throw the error to the parent window.
throw error;
}
</script>
<style>
/* App CSS Goes Here */
body, html {
height: 100%;
margin: 0;
font-family: 'Press Start 2P', cursive;
}
#main-container {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
height: 100%;
text-align: center;
}
#play-count {
margin-top: 20px;
}
</style>
</head>
<body>
<div id="main-container" class="container">
<div id="vine-video" class="embed-responsive embed-responsive-16by9">
<!-- YouTube Video Will Be Injected Here -->
</div>
<div id="play-count">Playing video... <span class="emoji">🔁</span></div>
</div>
<!-- Include the YouTube API script -->
<script async src="https://www.youtube.com/iframe_api"></script>
</body>
</html>
NEW APPS
These are apps made by the community!