GameMale
登陆 / 注册 搜索

USERCENTER

SEARCHSITE

搜索

查看: 1083|回复: 45
收起左侧

[技巧科普] 【梅克军团】bilibili视频跳过片头片尾

[复制链接] |关注本帖

组件大师

男巫之歌内森·德雷克『私有海域』裸体克里斯双向圣杯:焕然意志极·龙の意【圣诞限定】心心念念小雪人小小舞台御医神兔永浴爱河

     楼主| 墨燝 发表于 2024-11-4 20:22:15 | 显示全部楼层 |阅读模式 |取消关注该作者的回复
    本帖最后由 墨燝 于 2024-11-14 15:52 编辑

    因为有看切片剧的需求(没版权所以一集切分了很多p,每p最后还有别的内容),所以用chatgpt改了别人的代码,添加了几个按钮就不会绑定奇怪的键盘按键还忘了功能是啥了。不过目前没有做本地的跳过时长存储,应该也不需要吧(大概

    大致在右下角放了三个按钮,一个用于手动输入,另外两个自动获取当前时间,改一下match网页和播放器的选取条件应该也能用到其他平台吧



    论坛格式有点抽风,下面这个@Name @match自己改改就行

    1. // ==UserScript==
    2. // @name         BiliBili跳过片头片尾
    3. // @namespace    http://tampermonkey.net/
    4. // @version      2024-11-04
    5. // @description  添加控制按钮用于跳过片头片尾设置
    6. // @match        *://www.bilibili.com/*
    7. // @icon         data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNDEuMDY1IiBoZWlnaHQ9IjEyNy43NDciIHZpZXdCb3g9IjAgMCAzNy4zMjQgMzMuOCI+PHBhdGggZmlsbD0iIzIwYjBlMyIgZD0iTTg2Ljk2MiAxMTIuMzMyYTIuNjYxIDIuNjYxIDAgMCAxIDIuMjYyIDAgNS41MzYgNS41MzYgMCAwIDEgMS4zODQgMS4wMTFsNS4zMjMgNC42NThoMy44MDVsNS4zMjMtNC42NThhNS41ODkgNS41ODkgMCAwIDEgMS4zODQtMS4wMTEgMi42NjEgMi42NjEgMCAwIDEgMy41NCAyLjIwOSAyLjY2MSAyLjY2MSAwIDAgMS0uNTg2IDEuNzgzIDE0Ljg3NyAxNC44NzcgMCAwIDEtMS4xNzEgMS4wNjUgNy42OTEgNy42OTEgMCAwIDEtLjc0NS42MTJoMy4zMjZhNS42NDIgNS42NDIgMCAwIDEgMy45MTIgMS43NTYgNS42NjkgNS42NjkgMCAwIDEgMS43ODQgMy45MTJ2MTUuMzAzYTEwLjc3OCAxMC43NzggMCAwIDEtLjEzNCAyLjMxNSA1LjkwOCA1LjkwOCAwIDAgMS0yLjY2IDMuNzI2IDUuNzIyIDUuNzIyIDAgMCAxLTMuMDYxLjg1Mkg4Ni4yMTdhMTEuMjg0IDExLjI4NCAwIDAgMS0yLjM5Ni0uMTMzIDUuODgyIDUuODgyIDAgMCAxLTMuNjcyLTIuNjYyIDUuNjk1IDUuNjk1IDAgMCAxLS45MDUtMy4wNnYtMTUuMTQzYTExLjkyMyAxMS45MjMgMCAwIDEgMC0yLjIwOSA1Ljg1NSA1Ljg1NSAwIDAgMSA1LjMyMy00LjczN2gzLjQ4NmMtLjU1OS0uNC0xLjAzOC0uODc4LTEuNTQ0LTEuMzA0YTIuNjYxIDIuNjYxIDAgMCAxLS44NTEtMi4xODMgMi42NjEgMi42NjEgMCAwIDEgMS4zMDQtMi4xMDJtLS42MTIgMTAuMzI2YTIuNjYxIDIuNjYxIDAgMCAwLTIuMTAzIDEuOTE2IDMuNTkzIDMuNTkzIDAgMCAwIDAgMS4wMTF2MTIuNTg4YTIuNjYxIDIuNjYxIDAgMCAwIDEuODM3IDIuNjYyIDMuNTEzIDMuNTEzIDAgMCAwIDEuMTQ0LjE4NmgyMS42MzdhMi42NjEgMi42NjEgMCAwIDAgMi41MjgtMS41NyAzLjcyNiAzLjcyNiAwIDAgMCAuMjY2LTEuNzU3di0xMS43MWE0LjQ3MSA0LjQ3MSAwIDAgMCAwLTEuMjc3IDIuNjYxIDIuNjYxIDAgMCAwLTEuNzMtMS44MSA0LjI4NSA0LjI4NSAwIDAgMC0xLjY1LS4yMzlIODcuNjAxYTguODg5IDguODg5IDAgMCAwLTEuMjUxIDB6bTAgMCIgc3R5bGU9InN0cm9rZS13aWR0aDouMDMzMDcyOSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTc5LjE5MyAtMTEyLjA4KSIvPjxwYXRoIGQ9Ik04OC45NyAxMjguNjM2Yy4zNjMuMzc3Ljc0NS43NDcgMS4wODggMS4xNDIuNTk3LjY4NyAxLjExOCAxLjE5NyAxLjY2NiAxLjgwOS0uMTI5LTEuMTE3IDEuMzA0LTEuMTk4LjA3NC0xLjc1Ny0uNDA4LjQxNy0uOTQxLjg4NC0xLjM2IDEuMjIzLS4zOTIuMzE2LS44NjMuNjctMS4yMzUuOTUyLTEuOTA3IDEuNDQzLjIyNiA0LjA1MyAyLjEzIDIuNjA3IDAgMCAyLTEuNTM1IDIuODA3LTIuMzAxLjQ0LS40MTcuNjgtLjk1Ni43Mi0xLjU5Mi4wNC0uNjU0LS41MzUtMS4yNC0uNzk0LTEuNDk4LS45Mi0uOTE0LTEuNzQzLTEuOTY4LTIuNTUtMi44MTItMS41NzUtMS44LTQuMTIuNDI4LTIuNTQ2IDIuMjI3ek0xMDYuOTc5IDEyOC42MzZjLS4zNjMuMzc3LS43NDUuNzQ3LTEuMDg4IDEuMTQyLS41OTcuNjg3LTEuMTE4IDEuMTk3LTEuNjY2IDEuODA5LjEyOS0xLjExNy0xLjMwNC0xLjE5OC0uMDc0LTEuNzU3LjQwOC40MTcuOTQxLjg4NCAxLjM2IDEuMjIzLjM5Mi4zMTYuODYzLjY3IDEuMjM1Ljk1MiAxLjkwNyAxLjQ0My0uMjI2IDQuMDUzLTIuMTMgMi42MDcgMCAwLTItMS41MzUtMi44MDctMi4zMDEtLjQ0LS40MTctLjY4LS45NTYtLjcyLTEuNTkyLS4wNC0uNjU0LjUzNS0xLjI0Ljc5NC0xLjQ5OC45Mi0uOTE0IDEuNzQzLTEuOTY4IDIuNTUtMi44MTIgMS41NzUtMS44IDQuMTIuNDI4IDIuNTQ2IDIuMjI3eiIgc3R5bGU9ImZpbGw6IzIwYjBlMztmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6LjUyNDE1OTtzdHJva2UtZGFzaGFycmF5Om5vbmUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC03OS4xOTMgLTExMi4wOCkiLz48L3N2Zz4NCg==
    8. // @grant        none
    9. // ==/UserScript==

    10. let skip_IntroLength = 0;
    11. let skip_OutroLength = 0;

    12. (function() {
    13.     'use strict';

    14.     // 创建按钮容器
    15.     const buttonContainer = document.createElement("div");
    16.     buttonContainer.style.position = "fixed";
    17.     buttonContainer.style.bottom = "20px";
    18.     buttonContainer.style.right = "20px";
    19.     buttonContainer.style.display = "flex";
    20.     buttonContainer.style.flexDirection = "column";
    21.     buttonContainer.style.gap = "10px";
    22.     buttonContainer.style.zIndex = "9999";
    23.     document.body.appendChild(buttonContainer);

    24.     // 创建手动设置按钮
    25.     const manualButton = document.createElement("button");
    26.     manualButton.textContent = "手动设置时长";
    27.     manualButton.style.padding = "10px";
    28.     manualButton.style.backgroundColor = "#6DD3CE";
    29.     manualButton.style.color = "#fff";
    30.     manualButton.style.border = "none";
    31.     manualButton.style.borderRadius = "5px";
    32.     manualButton.style.cursor = "pointer";
    33.     buttonContainer.appendChild(manualButton);

    34.     // 创建设定片头按钮
    35.     const setIntroButton = document.createElement("button");
    36.     setIntroButton.textContent = "设为片头时间";
    37.     setIntroButton.style.padding = "10px";
    38.     setIntroButton.style.backgroundColor = "#C8E9A0";
    39.     setIntroButton.style.color = "#fff";
    40.     setIntroButton.style.border = "none";
    41.     setIntroButton.style.borderRadius = "5px";
    42.     setIntroButton.style.cursor = "pointer";
    43.     buttonContainer.appendChild(setIntroButton);

    44.     // 创建设定片尾按钮
    45.     const setOutroButton = document.createElement("button");
    46.     setOutroButton.textContent = "设为片尾时间";
    47.     setOutroButton.style.padding = "10px";
    48.     setOutroButton.style.backgroundColor = "#F7A278";
    49.     setOutroButton.style.color = "#fff";
    50.     setOutroButton.style.border = "none";
    51.     setOutroButton.style.borderRadius = "5px";
    52.     setOutroButton.style.cursor = "pointer";
    53.     buttonContainer.appendChild(setOutroButton);

    54.     // 手动设置跳过时长
    55.     manualButton.addEventListener("click", () => {
    56.         const newIntroLength = prompt("请输入片头跳过时间(秒):", skip_IntroLength);
    57.         const newOutroLength = prompt("请输入片尾跳过时间(秒):", skip_OutroLength);

    58.         if (!isNaN(parseFloat(newIntroLength))) {
    59.             skip_IntroLength = parseFloat(newIntroLength);
    60.         }
    61.         if (!isNaN(parseFloat(newOutroLength))) {
    62.             skip_OutroLength = parseFloat(newOutroLength);
    63.         }
    64.     });

    65.     // 设置当前播放时间为片头时长
    66.     setIntroButton.addEventListener("click", () => {
    67.         const video = document.querySelector("#bilibili-player video");
    68.         if (video) {
    69.             skip_IntroLength = video.currentTime;
    70.             alert(`片头时长已设置为:${skip_IntroLength.toFixed(2)} 秒`);
    71.         } else {
    72.             alert("未找到视频元素!");
    73.         }
    74.     });

    75.     // 设置当前播放时间为片尾时长
    76.     setOutroButton.addEventListener("click", () => {
    77.         const video = document.querySelector("#bilibili-player video");
    78.         if (video) {
    79.             skip_OutroLength = video.duration - video.currentTime;
    80.             alert(`片尾时长已设置为:${skip_OutroLength.toFixed(2)} 秒`);
    81.         } else {
    82.             alert("未找到视频元素!");
    83.         }
    84.     });

    85.     // 定时跳过片头和片尾
    86.     setInterval(() => {
    87.         const video = document.querySelector("#bilibili-player video");
    88.         if (video && !isNaN(video.duration)) {
    89.             const currentTime = video.currentTime;
    90.             if (currentTime < skip_IntroLength) {
    91.                 video.currentTime = skip_IntroLength;
    92.             } else if (currentTime > (video.duration - skip_OutroLength) && currentTime < (video.duration - 2)) {
    93.                 video.currentTime = video.duration;
    94.             }
    95.         }
    96.     }, 2000);
    97. })();
    复制代码


    来自群组: 泥潭療養院

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x

    评分

    参与人数 5血液 +11 追随 +5 收起 理由
    书の妖怪 + 3 + 1 很给力!
    旅行皮卡丘 + 1 神马都是浮云
    ONOTOU + 3 + 1
    Nittbone + 5 + 1 很给力!
    折木 + 1 很给力!

    查看全部评分

    回复

    使用道具 举报

    火柴 - Gamemale萨菲罗斯炽天使之拥亚索诺克提斯·路西斯·伽拉姆官复原职業火死鬥璀璨之焰虚空之海的鲸

      回复

      使用道具 举报

      贵族与野兽一国之主禽兽扒手骑兽之子

        回复

        使用道具 举报

        金猪猪储蓄罐㊖『随时随地开启!』漂洋小船『随时随地开启!』冒险用指南针破损的旧书丛林的鸟飞走了雪王的心脏人鱼之泪幽灵竹筒

          回复

          使用道具 举报

          没有梦想的咸鱼神秘商店贵宾卡茉香啤酒GHOST幻觉堕落之舞超人.赛博朋克2077

            回复

            使用道具 举报

              回复

              使用道具 举报

              GM論壇進階勛章炼金之心捡到了肥皂暮色卵幼年独角兽白猪猪储蓄罐㊖初入动物城

                回复

                使用道具 举报

                『还乡歌』里昂‧S‧甘乃迪闪耀的魔仙棒巴基超人.汤姆·赫兰德.火柴 - Gamemale

                  回复

                  使用道具 举报

                    回复

                    使用道具 举报

                    驱逐吉尔·沃瑞克Life of Water近地夜航风物长宜Forever Titanic裸体克里斯梅克军徽被释放的灵魂小小舞台

                      回复

                      使用道具 举报

                      骑兽之子SCP-s-1889-第五页暮狼归来“普罗米修斯”可怖的眼球卡利亚权杖“腐败女神”玛莲妮亚阿怪小小安全帽

                        回复

                        使用道具 举报

                        收到情书变骚喷雾雷文克劳白猪猪储蓄罐㊖千杯不醉初入动物城捡到了肥皂亚当‧简森

                          回复

                          使用道具 举报

                          征服之王被释放的灵魂死灵之书圣甲虫秘典破损的旧书吃饱金币的Doge生金蛋的鹅内森·德雷克果体76Futūrum(未来)

                            回复

                            使用道具 举报

                            20x43 隐形➀吃饱金币的Doge冒险用指南针金牌矿工小小安全帽小小舞台阿拉喵?神灯金猪猪储蓄罐㊖『梦旅存根』

                              回复

                              使用道具 举报

                              百相千面-晦永远的克叔業火死鬥实现梦想官复原职虚空之海的鲸Zootopia幸运女神的微笑『逆境中的幸运女神』御医神兔

                                回复

                                使用道具 举报

                                骑兽之子晓月终焉诺克提斯·路西斯·伽拉姆月光骑士丹妮莉丝·坦格利安刀锋女王 - 归宿官复原职不朽之恋虚空之海的鲸

                                  确实是很方便的代码,这下追剧轻松不少,以前手动快进很少有能跳的特别准的
                                  回复

                                  使用道具 举报

                                  森林羊男小丑与格雷与星光璀璨桑克瑞德·沃特斯苍穹禁城BIG BOSS堂岛之龙-桐生一马亚当‧简森幻象

                                    回复

                                    使用道具 举报

                                    萨赫的蛋糕野兽之子雷文克劳神秘商店贵宾卡收到情书裸体克里斯亚瑟‧摩根萨菲罗斯BIG BOSS亚当‧简森

                                      回复

                                      使用道具 举报

                                      炽天使之拥GHOST幸运女神的微笑官复原职丹妮莉丝·坦格利安普隆普特·阿金塔姆克莱夫・罗兹菲尔德骑兽之子不朽之恋赛博朋克2077

                                        回复

                                        使用道具 举报

                                        诺克提斯·路西斯·伽拉姆杰森‧斯坦森.远行刀锋女王 - 归宿官复原职叶卡捷琳娜大帝骑士遗盔最终幻想XIV最终幻想XVI

                                          回复

                                          使用道具 举报

                                          您需要登录后才可以回帖 登录 | 立即注册

                                          本版积分规则

                                          文字版|手机版|小黑屋|GameMale

                                          GMT+8, 2024-11-21 18:50 , Processed in 0.195968 second(s), 145 queries , Redis On.

                                          Copyright © 2013-2024 GameMale

                                          All Rights Reserved.

                                          快速回复 返回列表