最近发现了一个听曲的地方,想一直循环播放视频的一部分,有没有什么插件
下载再裁剪可以吗
并不是对某一个视频有这个需求,下载下来在剪辑太麻烦了,如果需要下载下来在处理的话可以直接使用 vlc 指定循环。
我猜可以通过定时刷新插件,每隔一段时间重新打开带有时间标签的b站网页链接来达到效果
(https://www.bilibili.com/video/BV1Ru41167Fi?t=52.0)
类似这种后面带有t=多少多少的
我用vivaldi自带的定时刷新功能试了一下,确实可以做到,不过vivaldi自带的不能精确设定刷新间隔,你可以下个能自定义刷新间隔的chrome插件。
另外,获取带有时间标的链接的方法——在视频画面右键,复制带有精准空降的链接就好了。
的确是一种解决方法。
糊了个小书签,应该是可以用吧。(新增脚本,见 哔哩哔哩播放视频的时候能否设置一个时间段,自动循环洗脑该段。 - #10,来自 dms )
可以整曲循环,可以自己输入起止时间点,大概够用了(?)。
结束时间过于接近视频时长可能有问题(我没测试),所以整曲循环会少一秒。
【AD 用爱发电换咖啡 >w<】
javascript:(function(){
if(!document.body.querySelector('#bilibili-player video')){
alert('好像不支持这个页面,或者视频尚未加载');
return;
};
const video = document.body.querySelector('#bilibili-player video');
const points = [0, video.duration-1];
const input = prompt('输入开始和结束时间,用空格分隔,留空则表示整曲循环。\n如果包含分钟可以这样写:3m12\n如果包含小时则这样写:1h3m12').trim();
if(input){
const inputPoints = input.split(/ /g);
if(inputPoints.length !== 2){
alert('格式有误,请输入用空格分隔的两个值,请重新输入');
return;
};
for(let i=0; i<2; i++){
let val = inputPoints[i];
if(!/^(\d+h)?(\d+m)?\d+(\.\d+)?$/i.test(val)){
alert('格式有误,请注意查看示例格式');
return;
};
const hms = val.split(/h|m/g);
const h = /\d+h/.test(val) ? +hms[0] : 0;
const m = /\d+m/.test(val) ? +hms[hms.length-2] : 0;
const s = +hms[hms.length-1];
points[i] = h*3600+m*60+s;
};
console.log(points);
setInterval(()=>{
if(video.currentTime>=points[1]){
video.currentTime = points[0];
}
},200);
};
})();
2 Likes
强!!!!