GameMale
登陆 / 注册 搜索

USERCENTER

SEARCHSITE

搜索

查看: 1186|回复: 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萨菲罗斯炽天使之拥亚索诺克提斯·路西斯·伽拉姆官复原职璀璨之焰業火死鬥虚空之海的鲸

      回复

      使用道具 举报

      『户口本: Lv7+』凯登‧阿兰科Forever Titanic贵族与野兽一国之主

        回复

        使用道具 举报

        不曾寄出的信件『随时随地开启!』漂洋小船『随时随地开启!』冒险用指南针破损的旧书丛林的鸟飞走了雪王的心脏人鱼之泪幽灵竹筒

          回复

          使用道具 举报

          冬之歌月光骑士丹妮莉丝·坦格利安杰森‧斯坦森荒野大镖客:救赎 II赛博朋克2077

            回复

            使用道具 举报

              回复

              使用道具 举报

              GM論壇進階勛章炼金之心收到情书捡到了肥皂暮色卵幼年独角兽卸下警徽

                回复

                使用道具 举报

                『落樱缤纷』里昂‧S‧甘乃迪闪耀的魔仙棒巴基醉乡民谣超人

                  回复

                  使用道具 举报

                    回复

                    使用道具 举报

                    驱逐吉尔·沃瑞克近地夜航风物长宜Forever Titanic裸体克里斯梅克军徽朴素的誓言无瑕的回忆被释放的灵魂

                      回复

                      使用道具 举报

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

                        回复

                        使用道具 举报

                        野兽之子收到情书变骚喷雾亚当‧简森神秘商店贵宾卡千杯不醉马克雷文克劳

                          回复

                          使用道具 举报

                          『住在GM村』『正在入住GM村』征服之王被释放的灵魂死灵之书圣甲虫秘典破损的旧书吃饱金币的Doge生金蛋的鹅内森·德雷克

                            回复

                            使用道具 举报

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

                              回复

                              使用道具 举报

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

                                回复

                                使用道具 举报

                                没有梦想的咸鱼晓月终焉炽天使之拥诺克提斯·路西斯·伽拉姆月光骑士丹妮莉丝·坦格利安官复原职不朽之恋虚空之海的鲸最终幻想XIV

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

                                  使用道具 举报

                                  无瑕的回忆虚空之海的鲸没有梦想的咸鱼朴素的誓言丛林的鸟飞走了皮尔斯‧尼凡斯收到情书BIG BOSS杰森‧斯坦森

                                    回复

                                    使用道具 举报

                                    闪耀的赫尔墨斯之杖『住在GM村』野兽之子裸体克里斯亚瑟‧摩根萨菲罗斯BIG BOSS亚当‧简森铁牛不灭狂雷

                                      回复

                                      使用道具 举报

                                      SCP-s-1889-第二页炽天使之拥幸运女神的微笑朴素的誓言官复原职丹妮莉丝·坦格利安普隆普特·阿金塔姆克莱夫・罗兹菲尔德骑兽之子不朽之恋

                                        回复

                                        使用道具 举报

                                        诺克提斯·路西斯·伽拉姆普隆普特·阿金塔姆杰森‧斯坦森月光骑士希尔瓦娜斯·风行者刀锋女王 - 归宿官复原职叶卡捷琳娜大帝骑士遗盔

                                          回复

                                          使用道具 举报

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

                                          本版积分规则

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

                                          GMT+8, 2024-12-22 01:05 , Processed in 0.143564 second(s), 143 queries , Redis On.

                                          Copyright © 2013-2024 GameMale

                                          All Rights Reserved.

                                          快速回复 返回列表