Привет, друзья! Я хочу разработать функцию перемотки, чтобы при нажатии на кнопку перемотки видео YouTube, которое отображается в перемотке I-кадра, в течение 10 секунд, но я не смог получить. Как я могу создать это, если у вас есть какое-либо решение? ,
Вот мой код
[![<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Youtube videos proxy server</title>
<!-- <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>-->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="https://www.youtube.com/iframe_api"></script>
</head>
<body>
<?php
$val="";
$vid="0TvTyj5FAaQ";
$str = file_get_contents('video.json');
$json = json_decode($str, true);
foreach ($json as $value) {
if($value\["id"\]==$vid){
$val="TRUE";
break;
}else{
continue;
}
}
if($val=="TRUE"){ ?>
<div>
<div style="height: 345px;width: 700px;background: black;">
<span style="color: white;">This video has restricted content.</span>
</div>
</div>
<?php }else{
?>
<div id="player">
<iframe id="player" width="700" height="345" src="https://www.youtube.com/embed/<?php echo $vid?>?enablejsapi=1&showinfo=0&rel=0"> </iframe>
<br/>
<button id='rwnd' onclick="rewind()" >Rewind</button>
</div>
<?php } ?>
<script type="text/javascript">
var player=document.getElementById("player");
var rewind= function(){
if (! player){alert("no obj");
}else{
alert('hello');
var currentTime = player.getCurrentTime();
console.log(currentTime);
if(currentTime>5){
player.seekTo(currentTime - 5, true);
player.playVideo();
}
}
};
</script>
</body>
</html>][1]][1]
Вот файл video.json.
[
{
"id": "0dV1Bwe2v6c"},
{
"id":"0dmhKtQ74wo"},
{
"id":"0dV1Bwe2v6c"}
]
Друзья, я получил ответ, теперь надеюсь, что он вам тоже поможет. Файл JSON такой же, как в вопросе, который я добавил в коде.
Вот решение ….
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Youtube videos proxy server</title>
<!-- <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>-->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="https://www.youtube.com/iframe_api"></script>
</head>
<body>
<?php
$val="";
$vid="0TvTyj5FAaQ";
$str = file_get_contents('video.json');
$json = json_decode($str, true);
foreach ($json as $value) {
if($value["id"]==$vid){
$val="TRUE";
break;
}else{
continue;
}
}
if($val=="TRUE"){ ?>
<div>
<div style="height: 345px;width: 700px;background: black;">
<span style="color: white;">This video has restricted content.</span>
</div>
</div>
<?php }else{
?>
<div id="player1">
<iframe id="player" width="700" height="345" src="https://www.youtube.com/embed/<?php echo $vid?>?enablejsapi=1&showinfo=0&rel=0"> </iframe>
<br/>
<button id='rwnd' disabled>Rewind</button>
</div>
<?php } ?>
<script type="text/javascript">
var player;
function onYouTubePlayerAPIReady() {
player = new YT.Player('player', {
events: {
'onStateChange': onPlayerReady
}
});
}
function onPlayerReady(event){
if(player.getPlayerState()===1 || player.getPlayerState()===2){
$('#rwnd').prop('disabled', false);
$( "#rwnd" ).click(function() {
rewind();
});
}else{
$('#rwnd').prop('disabled', true);
}
}
function rewind(){
var currentTime = player.getCurrentTime();
if(currentTime>10){
player.seekTo(currentTime - 10, true);
player.playVideo();
}else{
player.stopVideo();
console.log("Try to rewind video when current playing time greater than 10.");
}
};
</script>
</body>
</html>
Других решений пока нет …