我在开始播放前寻找视频。这工作正常。所有视频在给定和播放的搜索时间后开始播放。那真的很好。
但在此之后我无法快退或转发视频。因为如果我转发或倒带视频从开始搜索位置开始播放。假设我的搜索位置是5分钟,我在第10分钟转发时,视频从我开始搜索的5分钟开始。
我该如何解决这个问题?这是我目前的代码。
jwplayer('myPlayer').setup({
file: video_url_here,
image: video_poster_here,
title: 'Play',
width: '800',
height: '500',
skin: 'glow',
autostart: 'true',
primary: 'flash'
});
if(resume_time > 0) {
jwplayer('myPlayer').onPlay(function() {
setTimeout(function() {
jwplayer('myPlayer').seek(resume_time);
}, 500);
});
}
答案 0 :(得分:1)
基本上,无论何时执行代码,它都会将跳过<5分钟。
您需要跳过 5分钟。
jwp.getPosition()
jwp.currentTime
jwp.getPosition() + offset
以下演示使用JWPlayer API:
与原始代码一样,它以偏移量开始。测试视频只有一分钟,因此所有时间偏移都是以秒为单位。
var jwp = jwplayer('botr_xJ7Wcodt_5QOesuLn_div');
jwp.setup({
file: '//clips.vorwaerts-gmbh.de/big_buck_bunny.mp4',
title: 'Test Time Offset',
width: '320',
height: '180',
skin: 'glow',
key: "0H8QSBHQ3gTepr3hHusMAITnanKbD/JxzJYAKaDkZ5zwOSkLOgBqew=="
});
var offset = 5;
jwp.on('ready', function(event) {
var now = jwp.getPosition();
var goTo = offset + now;
jwp.seek(goTo);
});
jwp.addButton(
'https://www.mix96.co.uk/shared/images/sky-news-play-24.png',
'Skip',
function() {
jwp.seek(
jwp.getPosition() + (parseFloat(document.forms[0].elements[0].value)));
},
'skip'
);
input {
font: inherit;
outline: 3px inset blue;
width: 5ch;
margin: 10px 0 0 0
}
<script src="//content.jwplatform.com/players/xJ7Wcodt-5QOesuLn.js"></script>
<div id='botr_xJ7Wcodt_5QOesuLn_div'></div>
<form>
<input type='number' min='0' max='60' step='1.5'> Seconds
</form>
答案 1 :(得分:0)
点击forward
或rewind
时设置一个变量标记,并在搜索onPlay
时检查相同的条件。
var isRewindOrForward = false; // Initial load
// logic for forward and rewind here and reset isRewindOrForward to false again
if(resume_time > 0) {
jwplayer('myPlayer').onPlay(function() {
if(!isRewindOrForward){
setTimeout(function() {
jwplayer('myPlayer').seek(resume_time);
}, 500);
}
});
}