
Vídeo tutoriales
Bienvenid@s a el área de video tutoriales
Vídeo tutoriales de Python
Vídeo tutoriales de SuperCollider
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css">
<style>
body, html {
margin: 0;
padding: 0;
font-family: Arial, sans-serif;
}
.accordion-container {
width: 100%;
max-width: 900px;
margin: auto;
}
.accordion {
background-color: #eee;
color: #444;
cursor: pointer;
padding: 18px;
width: 100%;
text-align: left;
border: none;
outline: none;
transition: 0.4s;
}
.active, .accordion:hover {
background-color: #ccc;
}
.accordion:after {
content: '\02795';
font-size: 13px;
color: #777;
float: right;
margin-left: 5px;
}
.active:after {
content: "\2796";
}
.panel {
padding: 0 18px;
background-color: white;
max-height: 0;
overflow: hidden;
transition: max-height 0.2s ease-out;
}
.video-container video {
width: 100%;
height: auto;
}
.video-controls {
display: flex;
justify-content: center;
gap: 10px;
}
.video-controls button {
background: none;
border: none;
color: #000;
cursor: pointer;
font-size: 0.8em;
}
.video-controls button:focus {
outline: none;
}
.video-controls button:active {
color: red;
}
#progress-bar1, #progress-bar2 {
width: 100%;
height: 5px;
background: #ddd;
cursor: pointer;
}
#progress-bar1 div, #progress-bar2 div {
height: 100%;
background: grey;
}
</style>
</head>
<body oncontextmenu="return false;">
<div class="accordion-container">
<button class="accordion">Video 1</button>
<div class="panel">
<!-- Video player code starts here -->
<div class="video-container">
<video id="videoPlayer1">
<source src="s/python1c.mp4" type="video/mp4">
Tu navegador no soporta el vídeo de HTML5
</video>
<div id="progress-bar1" onclick="seek(event, 'videoPlayer1', 'progress-bar1')">
<div></div>
</div>
<div class="video-controls">
<button onclick="playPause('videoPlayer1')"><i class="fas fa-play"></i>/<i class="fas fa-pause"></i></button>
<button onclick="stopVideo('videoPlayer1')"><i class="fas fa-stop"></i></button>
<button onclick="fastForward('videoPlayer1')"><i class="fas fa-forward"></i></button>
<button onclick="rewind('videoPlayer1')"><i class="fas fa-backward"></i></button>
<button onclick="changeSpeed(0.5, 'videoPlayer1')"><i class="fas fa-tachometer-alt"></i> 0.5x</button>
<button onclick="changeSpeed(1, 'videoPlayer1')"><i class="fas fa-tachometer-alt"></i> Normal</button>
<button onclick="changeSpeed(2, 'videoPlayer1')"><i class="fas fa-tachometer-alt"></i> 2x</button>
</div>
</div>
<!-- Video player code finishes here -->
</div>
<button class="accordion">Video 2</button>
<div class="panel">
<!-- Video player code starts here -->
<div class="video-container">
<video id="videoPlayer2">
<source src="s/python1c.mp4" type="video/mp4">
Tu navegador no soporta el vídeo de HTML5
</video>
<div id="progress-bar2" onclick="seek(event, 'videoPlayer2', 'progress-bar2')">
<div></div>
</div>
<div class="video-controls">
<button onclick="playPause('videoPlayer2')"><i class="fas fa-play"></i>/<i class="fas fa-pause"></i></button>
<button onclick="stopVideo('videoPlayer2')"><i class="fas fa-stop"></i></button>
<button onclick="fastForward('videoPlayer2')"><i class="fas fa-forward"></i></button>
<button onclick="rewind('videoPlayer2')"><i class="fas fa-backward"></i></button>
<button onclick="changeSpeed(0.5, 'videoPlayer2')"><i class="fas fa-tachometer-alt"></i> 0.5x</button>
<button onclick="changeSpeed(1, 'videoPlayer2')"><i class="fas fa-tachometer-alt"></i> Normal</button>
<button onclick="changeSpeed(2, 'videoPlayer2')"><i class="fas fa-tachometer-alt"></i> 2x</button>
</div>
</div>
<!-- Video player code finishes here -->
</div>
<!-- Add more as needed -->
</div>
<script>
var acc = document.getElementsByClassName("accordion");
var i;
for (i = 0; i < acc.length; i++) {
acc[i].addEventListener("click", function() {
this.classList.toggle("active");
var panel = this.nextElementSibling;
if (panel.style.maxHeight){
panel.style.maxHeight = null;
} else {
panel.style.maxHeight = panel.scrollHeight + "px";
}
});
}
function playPause(id) {
var video = document.getElementById(id);
if (video.paused)
video.play();
else
video.pause();
}
function stopVideo(id) {
var video = document.getElementById(id);
video.pause();
video.currentTime = 0;
}
function fastForward(id) {
var video = document.getElementById(id);
video.currentTime += 10;
}
function rewind(id) {
var video = document.getElementById(id);
video.currentTime -= 10;
}
function changeSpeed(speed, id) {
var video = document.getElementById(id);
video.playbackRate = speed;
}
function seek(event, videoId, progressBarId) {
var video = document.getElementById(videoId);
var progressBar = document.getElementById(progressBarId);
var percent = event.offsetX / progressBar.offsetWidth;
video.currentTime = percent * video.duration;
}
var video1 = document.getElementById('videoPlayer1');
var progressBar1 = document.getElementById('progress-bar1');
video1.addEventListener('timeupdate', function() {
var progress = video1.currentTime / video1.duration * 100;
progressBar1.children[0].style.width = progress + "%";
});
var video2 = document.getElementById('videoPlayer2');
var progressBar2 = document.getElementById('progress-bar2');
video2.addEventListener('timeupdate', function() {
var progress = video2.currentTime / video2.duration * 100;
progressBar2.children[0].style.width = progress + "%";
});
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css">
<style>
body, html {
margin: 0;
padding: 0;
font-family: Arial, sans-serif;
}
.accordion-container {
width: 100%;
max-width: 900px;
margin: auto;
}
.accordion {
background-color: #eee;
color: #444;
cursor: pointer;
padding: 18px;
width: 100%;
text-align: left;
border: none;
outline: none;
transition: 0.4s;
}
.active, .accordion:hover {
background-color: #ccc;
}
.accordion:after {
content: '\02795';
font-size: 13px;
color: #777;
float: right;
margin-left: 5px;
}
.active:after {
content: "\2796";
}
.panel {
padding: 0 18px;
background-color: white;
max-height: 0;
overflow: hidden;
transition: max-height 0.2s ease-out;
}
.video-container video {
width: 100%;
height: auto;
}
.video-controls {
display: flex;
justify-content: center;
gap: 10px;
}
.video-controls button {
background: none;
border: none;
color: #000;
cursor: pointer;
font-size: 0.8em;
}
.video-controls button:focus {
outline: none;
}
.video-controls button:active {
color: red;
}
#progress-bar1, #progress-bar2 {
width: 100%;
height: 5px;
background: #ddd;
cursor: pointer;
}
#progress-bar1 div, #progress-bar2 div {
height: 100%;
background: grey;
}
</style>
</head>
<body oncontextmenu="return false;">
<div class="accordion-container">
<button class="accordion">Video 1</button>
<div class="panel">
<!-- Video player code starts here -->
<div class="video-container">
<video id="videoPlayer1">
<source src="s/python1c.mp4" type="video/mp4">
Tu navegador no soporta el vídeo de HTML5
</video>
<div id="progress-bar1" onclick="seek(event, 'videoPlayer1', 'progress-bar1')">
<div></div>
</div>
<div class="video-controls">
<button id="playPauseBtn1" onclick="playPause1()"><i class="fas fa-play"></i></button>
<button onclick="stopVideo('videoPlayer1')"><i class="fas fa-stop"></i></button>
<button onclick="fastForward('videoPlayer1')"><i class="fas fa-forward"></i></button>
<button onclick="rewind('videoPlayer1')"><i class="fas fa-backward"></i></button>
<button onclick="changeSpeed(0.5, 'videoPlayer1')"><i class="fas fa-tachometer-alt"></i> 0.5x</button>
<button onclick="changeSpeed(1, 'videoPlayer1')"><i class="fas fa-tachometer-alt"></i> Normal</button>
<button onclick="changeSpeed(2, 'videoPlayer1')"><i class="fas fa-tachometer-alt"></i> 2x</button>
</div>
</div>
<!-- Video player code finishes here -->
</div>
<button class="accordion">Video 2</button>
<div class="panel">
<!-- Video player code starts here -->
<div class="video-container">
<video id="videoPlayer2">
<source src="s/python1c.mp4" type="video/mp4">
Tu navegador no soporta el vídeo de HTML5
</video>
<div id="progress-bar2" onclick="seek(event, 'videoPlayer2', 'progress-bar2')">
<div></div>
</div>
<div class="video-controls">
<button id="playPauseBtn2" onclick="playPause2()"><i class="fas fa-play"></i></button>
<button onclick="stopVideo('videoPlayer2')"><i class="fas fa-stop"></i></button>
<button onclick="fastForward('videoPlayer2')"><i class="fas fa-forward"></i></button>
<button onclick="rewind('videoPlayer2')"><i class="fas fa-backward"></i></button>
<button onclick="changeSpeed(0.5, 'videoPlayer2')"><i class="fas fa-tachometer-alt"></i> 0.5x</button>
<button onclick="changeSpeed(1, 'videoPlayer2')"><i class="fas fa-tachometer-alt"></i> Normal</button>
<button onclick="changeSpeed(2, 'videoPlayer2')"><i class="fas fa-tachometer-alt"></i> 2x</button>
</div>
</div>
<!-- Video player code finishes here -->
</div>
<!-- Add more as needed -->
</div>
<script>
var acc = document.getElementsByClassName("accordion");
var i;
for (i = 0; i < acc.length; i++) {
acc[i].addEventListener("click", function() {
this.classList.toggle("active");
var panel = this.nextElementSibling;
if (panel.style.maxHeight){
panel.style.maxHeight = null;
} else {
panel.style.maxHeight = panel.scrollHeight + "px";
}
});
}
function playPause(id) {
var video = document.getElementById(id);
if (video.paused)
video.play();
else
video.pause();
}
function stopVideo(id) {
var video = document.getElementById(id);
video.pause();
video.currentTime = 0;
}
function fastForward(id) {
var video = document.getElementById(id);
video.currentTime += 10;
}
function rewind(id) {
var video = document.getElementById(id);
video.currentTime -= 10;
}
function changeSpeed(speed, id) {
var video = document.getElementById(id);
video.playbackRate = speed;
}
function seek(event, videoId, progressBarId) {
var video = document.getElementById(videoId);
var progressBar = document.getElementById(progressBarId);
var percent = event.offsetX / progressBar.offsetWidth;
video.currentTime = percent * video.duration;
}
function playPause1() {
var playPauseBtn = document.getElementById("playPauseBtn1");
if (video1.paused) {
video1.play();
playPauseBtn.innerHTML = '<i class="fas fa-pause"></i>';
} else {
video1.pause();
playPauseBtn.innerHTML = '<i class="fas fa-play"></i>';
}
}
var video1 = document.getElementById('videoPlayer1');
var progressBar1 = document.getElementById('progress-bar1');
video1.addEventListener('timeupdate', function() {
var progress = video1.currentTime / video1.duration * 100;
progressBar1.children[0].style.width = progress + "%";
});
var video2 = document.getElementById('videoPlayer2');
var progressBar2 = document.getElementById('progress-bar2');
video2.addEventListener('timeupdate', function() {
var progress = video2.currentTime / video2.duration * 100;
progressBar2.children[0].style.width = progress + "%";
});
function playPause2() {
var playPauseBtn = document.getElementById("playPauseBtn2");
if (video2.paused) {
video2.play();
playPauseBtn.innerHTML = '<i class="fas fa-pause"></i>';
} else {
video2.pause();
playPauseBtn.innerHTML = '<i class="fas fa-play"></i>';
}
}
</script>
</body>
</html>