<header>
<h2 class="title">volumechange</h2>
<p class="description">Відслідковує зміни гучності та вимкнення звуку для відео елемента</p>
</header>
<main>
<div class="result">
<!-- Відео елемент -->
<video id="videoElement" controls width="400">
<source src="https://www.w3schools.com/html/mov_bbb.mp4" type="video/mp4">
Ваш браузер не підтримує відтворення відео.
</video>
<!-- Повзунок для регулювання гучності -->
<div>
<label for="volumeSlider">Гучність:</label>
<input type="range" id="volumeSlider" min="0" max="100" value="50">
</div>
<!-- Кнопка для вимкнення/ввімкнення звуку -->
<div>
<button id="muteButton">Вимкнути звук</button>
</div>
<!-- Текстовий індикатор гучності -->
<p id="volumeDisplay">Поточна гучність: 50%</p>
</div>
</main>
body {
font-size: 16px;
line-height: 1.5;
font-family: monospace;
}
header {
background-color: #f1f1f1;
margin-bottom: 25px;
padding: 15px;
box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
}
header h2.title {
padding-bottom: 15px;
border-bottom: 1px solid #999;
}
header p.description {
font-style: italic;
color: #222;
}
.result {
background-color: #f8f8f8;
padding: 15px;
box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
}
video {
display: block;
margin-bottom: 15px;
}
input[type="range"] {
width: 100%;
max-width: 300px;
margin-top: 10px;
}
button {
margin-top: 10px;
padding: 8px 16px;
background-color: #4CAF50;
color: white;
border: none;
cursor: pointer;
}
button:hover {
background-color: #45a049;
}
#volumeDisplay {
margin-top: 15px;
color: #333;
}
const videoElement = document.getElementById('videoElement');
const volumeSlider = document.getElementById('volumeSlider');
const muteButton = document.getElementById('muteButton');
const volumeDisplay = document.getElementById('volumeDisplay');
// Встановлюємо початкову гучність для відео
videoElement.volume = 0.5;
// Обробник події зміни гучності через повзунок
volumeSlider.addEventListener('input', () => {
const volumeValue = volumeSlider.value / 100;
videoElement.volume = volumeValue;
});
// Обробник події для вимкнення/ввімкнення звуку
muteButton.addEventListener('click', () => {
videoElement.muted = !videoElement.muted;
muteButton.textContent = videoElement.muted ? 'Увімкнути звук' : 'Вимкнути звук';
});
// Обробник події 'volumechange' для відстеження змін гучності або статусу звуку
videoElement.addEventListener('volumechange', () => {
if (videoElement.muted) {
volumeDisplay.textContent = 'Звук вимкнено';
volumeSlider.value = 0;
} else {
const volumePercent = Math.round(videoElement.volume * 100);
volumeDisplay.textContent = `Поточна гучність: ${volumePercent}%`;
volumeSlider.value = volumePercent;
}
});
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.