我正在创建一系列视频教程,并希望阻止用户寻找前进和跳过部分。我将使用将用于桌面和iPad浏览器的HTML5视频播放器。理想情况下,我也喜欢在iPhone上工作,但我发现你无法控制手机上的视频,因为它使用的是iPhone视频播放器。
如何阻止用户在HTML5视频播放器上前进?
答案 0 :(得分:8)
Video.js的另一个例子:
List<MyObject> objects = await item.tables.ToAsyncEnumerable()
.Where(p => p.field1 == value)
.Select(p => new MyObject(p.field1,p.field2))
.ToList();
答案 1 :(得分:6)
我只是想阻止寻求前进。我的系统中有更多代码允许它们暂停并稍后返回。它记录当前位置并设置加载时的视频位置。
我正在使用video.js。我试图使用timechange事件,但在搜索之前它会触发。所以,我使用间隔来每秒抓住当前位置。如果搜索位置大于当前位置,则将其设置回来。效果很好。
var player = null;
var curpos = 0;
videojs("player").ready(function(){
player = this;
});
player.on('seeking', function () {
var ct = player.currentTime();
if(ct > curpos) {
player.currentTime(curpos);
}
});
function getpos() {
curpos = player.currentTime();
}
onesecond = setInterval('getpos()', 1000);
答案 2 :(得分:3)
如果你真的想做这个令人惊讶的用户敌对的事情,那么你可以使用controls属性。您必须使用JS实现您想要允许的任何控件。
当然,用户可以随时查看&gt; source 获取视频的URI并下载它。
答案 3 :(得分:1)
感谢您的回答Rick。
我注意到用户可以拖动并保持导引头,这样他们可以继续使用,所以我添加了不寻求getPos函数的地方.HTML 5和jQuery。
var video = document.getElementsByTagName('video')[0];
function allowMove() {
$('input[id$="btnNext"]').removeAttr('disabled');
$('input[id$="videoFlag"]').val("1");
}
function getpos() {
if (!(video.seeking)) {
curpos = video.currentTime;
}
console.log(curpos)
}
onesecond = setInterval('getpos()', 1000);
function setPos() {
var ct = video.currentTime;
if (ct > curpos) {
video.currentTime = curpos;
}
}
答案 4 :(得分:0)
我同意@Bart Kiers这不是一个好主意,但如果你必须这样做,我可以想到一种方法:隐藏控件并提供你自己的播放按钮,使用JavaScript启动视频。
答案 5 :(得分:0)
为什么不这样?
var video = document.getElementById("myVideo");
var counter = 0;
video.on('timeupdate', function() {
if (video[0].paused == false) {
counter = video[0].currentTime;
}
}
video.on('seeking', function(e) {
if ( parseInt(counter, 10) != parseInt(video[0].currentTime, 10) ) {
video[0].currentTime = counter;
}
});