Bilibili-Evolved icon indicating copy to clipboard operation
Bilibili-Evolved copied to clipboard

奇怪的BUG:某个视频页的扩展倍速不正常

Open Yanstory opened this issue 2 years ago • 9 comments

对应功能

扩展倍速

问题描述

这个视频 里:

  • 扩展的倍速选项无法置入列表
  • 有概率在打开页面后以二倍速播放(被程序视为1倍速,由此2倍速变为实际4倍速)

目前仅在此视频发现这个bug,且控制台会在一段时间后报错。清除缓存无效。

另:退出登录后恢复正常,重新登录后依旧,疑似服务器端数据出错?

脚本版本

v2.3.1-preview

浏览器版本

Chromium 104.0.5112.64

播放器版本

3.14.15-1b6c0963

播放策略

默认

错误信息

Error: video element not found!
    at T (eval at loadFeatureCode (BV1wx411v7h4:194:65676), <anonymous>:1:5171)

附加截图

No response

Yanstory avatar Jul 30 '22 01:07 Yanstory

我遇到了类似情况,在有合集和稍后再看以及番剧页面扩展倍速和记忆倍速不管用,新版旧版都不管用

xcing937 avatar Aug 04 '22 12:08 xcing937

我也,在默认的增加了2.5倍速和3.0倍速的情况下,如果点击1.5倍速,那么就会直接跳成3.0倍速。 如果删掉一个倍速,或者删两个,1.5倍速又可以正常点击了,不知道为什么。

Glume-9345 avatar Aug 05 '22 14:08 Glume-9345

这个我也经常遇到,然后除了这个问题,我还遇到了如果用的是官方没有的倍速(比如1.35)播放会非常卡顿,1.25或者1.5就正常

| | @.*** | | @.*** |

---- 回复的原邮件 ---- | 发件人 | @.> | | 日期 | 2022年08月05日 22:50 | | 收件人 | @.> | | 抄送至 | @.@.> | | 主题 | Re: [the1812/Bilibili-Evolved] 奇怪的BUG:某个视频页的扩展倍速不正常 (Issue #3539) |

我也,在默认的增加了2.5倍速和3.0倍速的情况下,如果点击1.5倍速,那么就会直接跳成3.0倍速。 如果删掉一个倍速,或者删两个,1.5倍速又可以正常点击了,不知道为什么。

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

xcing937 avatar Aug 05 '22 14:08 xcing937

我也是,点击1.5倍速,结果是3倍速

tfqy avatar Aug 24 '22 05:08 tfqy

我也遇到了,每次选1.5倍速的时候就选不中,按下去就变成3倍速

5uperv1sed avatar Aug 25 '22 10:08 5uperv1sed

添加下面这个样式解决这个1.5倍速变3倍速的问题:

https://gist.githubusercontent.com/LonelySteve/4f2dd6adb781f6be35d62cf27583ced7/raw/85d053a4913a116902e52f98812b8a3318527561/fix-3539.js

如果因为网络原因无法添加,可以在控制台里手动执行下面的 js 代码:

bilibiliEvolved.settings.userStyles.fix3539 = ({
    name: 'fix-3539',
    mode: 'default',
    displayName: 'FIX-修复 1.5x 倍速变成 3.0x 倍速',
    style: '.bpx-player-ctrl-playbackrate-menu:after { display: none }',
})
原因分析 B 站加了一段很莫名其妙的样式,产生的伪元素和 1.5x 倍速菜单项重叠,导致用户点击 1.5x 倍速时,实际点击的并不是 1.5x 倍速的那个菜单项元素,而是这个 after 伪元素:

image

脚本有监听菜单项点击,获取相应值的操作,如果点到了 after 伪元素上,那取得就是倍速列表最开始的倍数值,在扩展倍速默认配置下就是 3.0x,然后可能会重新设置回去,所以就出现点击 1.5x 倍速却变成 3x 倍速的怪问题

目前还不清楚这段样式的作用是啥,直接隐藏它虽然可以解决问题,但或许会有其他影响也说不定(

LonelySteve avatar Aug 28 '22 02:08 LonelySteve

添加之后解决了,但是刷新页面后又要重新在控制台输入,这治标不治本啊

tfqy avatar Aug 28 '22 02:08 tfqy

添加之后解决了,但是刷新页面后又要重新在控制台输入,这治标不治本啊

不好意思,刚才用错方法了,试下下面这种:

bilibiliEvolved.pluginApis.installStyle(({
    name: 'fix-3539',
    displayName: 'FIX-修复 1.5x 倍速',
    style: `
    .bpx-player-ctrl-playbackrate-menu:after {
        display: none
    }
    `,
}))

这个可以持久化,下次加载还是生效的,推荐的做法是直接用链接添加样式:

image

https://gist.githubusercontent.com/LonelySteve/4f2dd6adb781f6be35d62cf27583ced7/raw/85d053a4913a116902e52f98812b8a3318527561/fix-3539.js

不过 github gist 的链接不一定可以访问就是了,你还可以可以本地新建个文件,复制下面的内容:

({
    name: 'fix-3539',
    displayName: '修复 1.5x 倍速点击问题',
    style: `
    .bpx-player-ctrl-playbackrate-menu:after {
        display: none
    }
    `,
})

然后选「浏览」进行添加,两种方式都是一样的

原因分析 B 站加了一段很莫名其妙的样式,产生的伪元素和 1.5x 倍速菜单项重叠,导致用户点击 1.5x 倍速时,实际点击的并不是 1.5x 倍速的那个菜单项元素,而是这个 after 伪元素:

image

脚本有监听菜单项点击,获取相应值的操作,如果点到了 after 伪元素上,那取得就是倍速列表最开始的倍数值,在扩展倍速默认配置下就是 3.0x,然后可能会重新设置回去,所以就出现点击 1.5x 倍速却变成 3x 倍速的怪问题

目前还不清楚这段样式的作用是啥,直接隐藏它虽然可以解决问题,但或许会有其他影响也说不定(

LonelySteve avatar Aug 28 '22 02:08 LonelySteve

控制台的 API 是 bilibiliEvolved.pluginApis.installStyle({ ... })

the1812 avatar Aug 28 '22 02:08 the1812

@LonelySteve 这个样式需要直接整合进你的组件里吗

the1812 avatar Nov 06 '22 09:11 the1812

感觉还是默认加到扩展倍速组件里会比较好,我估计那个伪元素是没有用的,待会我改下

---原始邮件--- 发件人: "Grant @.> 发送时间: 2022年11月6日(周日) 下午4:15 收件人: @.>; 抄送: @.@.>; 主题: Re: [the1812/Bilibili-Evolved] 奇怪的BUG:某个视频页的扩展倍速不正常 (Issue #3539)

@LonelySteve 这个样式需要直接整合进你的组件里吗

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

LonelySteve avatar Nov 06 '22 09:11 LonelySteve