昨天看到用鼠标拖动快进快退的帖子,安装后确实可以用。
我就想到 鼠标的左右滚动键如果用来快进快退,岂不是更方便,直接滚动就可以,而且也很精准,手完全不需要动键盘。
我一直用Global Speed设置快捷键 快进快退,但是他不可以设置鼠标滚轮
FlashViewer-HTML5视频增强 by NLF、hoothin
在源代码3554行后添加:
// 滚轮调节进度,向上后退,向下前进
target.addEventListener('wheel', function (e) {
clearTimeout(speedUpTimer);
if (target.ended) return;
let direction = Math.sign(e.wheelDelta || -e.detail);
// 步长为1s,可以根据自己习惯调整灵敏度
target.currentTime += direction > 0 ? -1 : 1;
e.preventDefault();
});
滚轮调节可能会和网站自带的滚轮事件冲突,比如在b站全屏状态下会与调节音量同时生效
好用的话可以给“hoothin”大佬点个Star
MPV最基础那个播放器就是滚轮控制播放进度,挺方便的说,potplayer好像也可以设置,其他的用ahk?
potplayer是可以的,我试过, 主要研究的还是浏览器里在线播放啦
你好,能不能改成滚轮左右滚动实现呢,我搜索了一下,没找到怎么修改。
上下滚 影响看网页,但是左右滚动就没事了,一般视频网页不会用到左右滚动
deltaX
就是水平滚动
改为X后 滚轮左右、上下都是调解进度啦 哈哈哈
有edge商店的 这个选项很多 ,除了没有汉语之外,别的都很好 完全可以替代Global Speed
体验了一下 [Video Dominator ],发现对快捷键的支持不太好,也不显示当前速度。于是根据@ Hoothin的代码,在CTGPT.CN弄了一晚上,让ai给我弄出来了这样一段代码,替换手搓大佬的代码,在脚本里可以正常使用。之前代码上下左右滚动都是进度调节,现在主要实现的功能:
- 上下调整音量
- 左右调节进度
- 会在左上角显示一个提示
这段代码实现了在 HTML5 视频播放器中使用鼠标滚轮调整音量和播放进度的功能,并在屏幕上实时显示音量百分比和播放进度。同时,为了提高用户体验,每次只会在屏幕上显示一个输出结果,并在一定时间后自动消失。
target.addEventListener('wheel', function (e) {
clearTimeout(speedUpTimer);
if (target.ended) return;
let direction = Math.sign(e.wheelDelta || -e.detail);
// 上下滚动为调整音量
if (e.deltaY !== 0) {
target.volume += direction > 0 ? 0.05 : -0.05;
// 显示音量百分比
let volumePercentage = Math.round(target.volume * 100);
let volumeDisplay = document.querySelector('#volume-display');
if (!volumeDisplay) {
volumeDisplay = document.createElement('div');
volumeDisplay.id = 'volume-display';
volumeDisplay.style.position = 'fixed';
volumeDisplay.style.top = '80px';
volumeDisplay.style.left = '80px';
volumeDisplay.style.color = 'white';
volumeDisplay.style.backgroundColor = 'rgba(0, 0, 0, 0.7)';
volumeDisplay.style.padding = '5px';
volumeDisplay.style.borderRadius = '5px';
document.body.appendChild(volumeDisplay);
}
volumeDisplay.innerText = volumePercentage + '%';
// 延迟一段时间后移除显示
setTimeout(function() {
document.body.removeChild(volumeDisplay);
}, 500);
}
// 左右滚动为调整进度
if (e.deltaX !== 0) {
target.currentTime += direction > 0 ? -5 : 3;
// 显示播放进度
let currentTime = Math.round(target.currentTime);
let duration = target.duration;
let currentDisplay = formatTime(currentTime);
let durationDisplay = formatTime(duration);
let progressDisplay = document.querySelector('#progress-display');
if (!progressDisplay) {
progressDisplay = document.createElement('div');
progressDisplay.id = 'progress-display';
progressDisplay.style.position = 'fixed';
progressDisplay.style.top = '80px';
progressDisplay.style.left= '80px';
progressDisplay.style.color = 'white';
progressDisplay.style.backgroundColor = 'rgba(0, 0, 0, 0.7)';
progressDisplay.style.padding = '5px';
progressDisplay.style.borderRadius = '5px';
document.body.appendChild(progressDisplay);
}
progressDisplay.innerText = `${currentDisplay} / ${durationDisplay}`;
// 延迟一段时间后移除显示
setTimeout(function() {
document.body.removeChild(progressDisplay);
}, 500);
}
e.preventDefault();
});
这样写的话,无极滚轮恐怕会卡死,移除时大概也会有很多报错,因为元素不一定存在。如果滚轮事件不小心被提示框接管,函数会失效。
可以尝试把提示框塞入工具栏,用opacity或者display去隐藏,再用css加鼠标穿透
这对我来说太难了。我完全不会编程。全靠ai改的。我看不懂代码 现在也勉强可以用。