Обучение/Помощь новичкам | Как заставить видео встать на паузу
Тема закрыта by
pyrokinesis
Причина: решено
Причина: решено
Короче сделал видео с ютуба в модельном окне, но закрываю окно а видео всеравно продолжает работать
вот видеоскриншот
https://skrinshoter.ru/vNi92GSkSqW?a
в скрипте прописана функция остановки (паузы) видеоролика, но поче му то не работает, в консоле ошибок тоже нет.
вот индиивикатор закрытия окна
в низу сам скрипт
------
87058_videomodalblock.zip (5.0 Kb)
Скачиваний: 91
вот видеоскриншот
https://skrinshoter.ru/vNi92GSkSqW?a
в скрипте прописана функция остановки (паузы) видеоролика, но поче му то не работает, в консоле ошибок тоже нет.
javascript
<script>
var player;
function onYouTubePlayerAPIReady() {
player = new YT.Player('player');
}
$('#stop').click(function(){
player.stopVideo()
})
</script>вот индиивикатор закрытия окна
html
<a href="#close" id="stop" class="close"></a>в низу сам скрипт
------
Скачиваний: 91
Вот пример
https://skillbox.ru/media/code/kak_sozdat_pleer_dlya_sayta/
Короче сделал видео с ютуба в модельном окне, но закрываю окно а видео всеравно продолжает работать
вот видеоскриншот
https://skrinshoter.ru/vNi92GSkSqW?a
в скрипте прописана функция остановки (паузы) видеоролика, но поче му то не работает, в консоле ошибок тоже нет.
javascript
<script>
var player;
function onYouTubePlayerAPIReady() {
player = new YT.Player('player');
}
$('#stop').click(function(){
player.stopVideo()
})
</script>вот индиивикатор закрытия окна
html
<a href="#close" id="stop" class="close"></a>в низу сам скрипт
//Кнопки
var actionButton = document.getElementById('video-hud__action');
var muteButton = document.getElementById('video-hud__mute');
var volumeScale = document.getElementById('video-hud__volume');
var speedSelect = document.getElementById('video-hud__speed');
function videoAct() { //Запускаем или ставим на паузу
if(videoPlayer.paused) {
videoPlayer.play();
actionButton.setAttribute('class','video-hud__element video-hud__action video-hud__action_play');
} else {
videoPlayer.pause();
actionButton.setAttribute('class','video-hud__element video-hud__action video-hud__action_pause');
}
if(durationTime.innerHTML == '00:00') {
durationTime.innerHTML = videoTime(videoPlayer.duration); //Об этой функции чуть ниже
}
Вот примет кнопок старт и пауза
//Кнопки
var actionButton = document.getElementById('video-hud__action');
var muteButton = document.getElementById('video-hud__mute');
var volumeScale = document.getElementById('video-hud__volume');
var speedSelect = document.getElementById('video-hud__speed');
function videoAct() { //Запускаем или ставим на паузу
if(videoPlayer.paused) {
videoPlayer.play();
actionButton.setAttribute('class','video-hud__element video-hud__action video-hud__action_play');
} else {
videoPlayer.pause();
actionButton.setAttribute('class','video-hud__element video-hud__action video-hud__action_pause');
}
if(durationTime.innerHTML == '00:00') {
durationTime.innerHTML = videoTime(videoPlayer.duration); //Об этой функции чуть ниже
}
для меня это не понять , ((((
Мой тебе совет тогда посмотри готовый видео плеер и сделай такой себе на сайт
html
<iframe width="1280" height="720" id="player" src="http://www.youtube.com/embed/J32MrXDK6oI?version=3&enablejsapi=1" allowfullscreen></iframe>но сам джава скрипт не хочет глушить видео на паузу при клике закрыть модельное окно
php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>YouTube Player</title>
</head>
<body>
<input type="text" id="videoIdInput" placeholder="Введите ID видео">
<button onclick="loadVideo()">Загрузить видео</button>
<button onclick="playVideo()">Старт</button>
<button onclick="pauseVideo()">Стоп</button>
<div id="player"></div>
<script>
const apiKey = 'YOUR_API_KEY';
let player;
function onYouTubeIframeAPIReady() {
player = new YT.Player('player', {
height: '360',
width: '640',
videoId: 'VIDEO_ID',
playerVars: {
'autoplay': 0,
'controls': 1,
'rel': 0,
'showinfo': 0,
'iv_load_policy': 3,
'modestbranding': 1
},
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
});
}
function onPlayerReady(event) {
// Можно добавить дополнительные действия при необходимости.
}
function onPlayerStateChange(event) {
// Можно добавить дополнительные действия при изменении состояния воспроизведения.
}
function loadVideo() {
const videoId = document.getElementById('videoIdInput').value;
player.loadVideoById(videoId);
}
function playVideo() {
player.playVideo();
}
function pauseVideo() {
player.pauseVideo();
}
</script>
<script src="https://www.youtube.com/iframe_api"></script>
</body>
</html>php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>YouTube Player</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
<style>
body {
font-family: 'Arial', sans-serif;
background-color: #f8f9fa;
margin: 0;
padding: 0;
}
header {
background-color: #007bff;
color: #fff;
padding: 10px 0;
text-align: center;
}
footer {
background-color: #007bff;
color: #fff;
padding: 10px 0;
position: fixed;
bottom: 0;
width: 100%;
text-align: center;
}
#videoIdInput {
padding: 8px;
margin: 10px;
}
button {
padding: 10px;
margin: 5px;
font-size: 16px;
cursor: pointer;
}
#player {
margin: 20px auto;
}
.search-results {
margin-top: 20px;
}
.video-item {
margin-bottom: 10px;
cursor: pointer;
}
.video-item:hover {
background-color: #f0f0f0;
}
</style>
</head>
<body>
<header>
<h1>YouTube Player</h1>
</header>
<div class="container">
<div class="row">
<div class="col-md-6">
<input type="text" id="searchInput" class="form-control" placeholder="Поиск по названию видео">
<button onclick="searchVideo()" class="btn btn-primary">Искать</button>
<div class="search-results"></div>
</div>
<div class="col-md-6">
<input type="text" id="videoIdInput" class="form-control" placeholder="Введите ID видео">
<button onclick="loadVideo()" class="btn btn-primary">Загрузить видео</button>
<button onclick="togglePlayPause()" class="btn btn-success">Старт/Стоп</button>
</div>
</div>
<hr>
<div id="player"></div>
</div>
<footer>
© 2024 YouTube Player
</footer>
<script src="https://www.youtube.com/iframe_api"></script>
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.5.1/dist/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
<script>
const apiKey = 'YOUR_API_KEY';
let player;
function onYouTubeIframeAPIReady() {
player = new YT.Player('player', {
height: '360',
width: '640',
videoId: 'VIDEO_ID',
playerVars: {
'autoplay': 0,
'controls': 1,
'rel': 0,
'showinfo': 0,
'iv_load_policy': 3,
'modestbranding': 1
},
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
});
}
function onPlayerReady(event) {
updateButtonState();
}
function onPlayerStateChange(event) {
updateButtonState();
}
function loadVideo(videoId) {
player.loadVideoById(videoId);
}
function togglePlayPause() {
if (player.getPlayerState() === YT.PlayerState.PLAYING) {
player.pauseVideo();
} else {
player.playVideo();
}
updateButtonState();
}
function updateButtonState() {
const playPauseButton = document.querySelector('button[onclick="togglePlayPause()"]');
if (player.getPlayerState() === YT.PlayerState.PLAYING) {
playPauseButton.textContent = 'Пауза';
} else {
playPauseButton.textContent = 'Старт';
}
}
function searchVideo() {
const searchQuery = document.getElementById('searchInput').value;
if (searchQuery.trim() !== '') {
fetch(`https://www.googleapis.com/youtube/v3/search?q=${searchQuery}&part=snippet&maxResults=5&type=video&key=${apiKey}`)
.then(response => response.json())
.then(data => displaySearchResults(data.items))
.catch(error => console.error('Error fetching search results:', error));
}
}
function displaySearchResults(results) {
const searchResultsContainer = document.querySelector('.search-results');
searchResultsContainer.innerHTML = '';
results.forEach(result => {
const videoId = result.id.videoId;
const title = result.snippet.title;
const videoItem = document.createElement('div');
videoItem.className = 'video-item';
videoItem.onclick = function() {
loadVideo(videoId);
};
const thumbnailUrl = result.snippet.thumbnails.medium.url;
videoItem.innerHTML = `
<img src="${thumbnailUrl}" alt="${title}" style="max-width: 100%;">
<p>${title}</p>
`;
searchResultsContainer.appendChild(videoItem);
});
}
</script>
</body>
</html>добавь свой апи ключ и пользуйся)
Стр.: 1, 2