mirror of
https://github.com/the1812/Bilibili-Evolved.git
synced 2025-11-04 21:22:45 +08:00
feat(default-video-speed): 记忆最新倍数,移除全局默认速度设定
视频级别的记忆功能需通过设置 `rememberVideoSpeed` 项开启
This commit is contained in:
parent
587aed4c43
commit
a43a90aadf
@ -681,12 +681,7 @@ Resource.manifest = {
|
||||
useDefaultVideoSpeed: {
|
||||
path: 'default-video-speed.min.js',
|
||||
displayNames: {
|
||||
useDefaultVideoSpeed: '记忆播放速度',
|
||||
defaultVideoSpeed: '默认播放速度',
|
||||
},
|
||||
dropdown: {
|
||||
key: 'defaultVideoSpeed',
|
||||
items: ['0.5', '0.75', '1.0', '1.25', '1.5', '2.0'],
|
||||
useDefaultVideoSpeed: '记忆上次播放速度',
|
||||
}
|
||||
},
|
||||
seedsToCoins: {
|
||||
|
||||
@ -249,6 +249,8 @@ export const settings = {
|
||||
cache: {},
|
||||
favoritesListCurrentSelect: '',
|
||||
defaultVideoSpeedList: {},
|
||||
rememberVideoSpeed: false,
|
||||
latestVideoSpeed: 1,
|
||||
}
|
||||
const fixedSettings = {
|
||||
useDefaultDanmakuSettings: false,
|
||||
|
||||
2
src/global.d.ts
vendored
2
src/global.d.ts
vendored
@ -523,6 +523,8 @@ declare global {
|
||||
defaultVideoSpeedList: {
|
||||
[index: string]: string[]
|
||||
},
|
||||
rememberVideoSpeed: boolean,
|
||||
latestVideoSpeed: number,
|
||||
}
|
||||
const GM_info: MonkeyInfo
|
||||
function GM_xmlhttpRequest(details: MonkeyXhrDetails): { abort: () => void }
|
||||
|
||||
@ -54,7 +54,6 @@
|
||||
<!-- <checkbox indent="0" key="useDefaultVideoQuality" dependencies=""></checkbox>
|
||||
<dropdown indent="1" key="defaultVideoQuality" dependencies="useDefaultVideoQuality"></dropdown> -->
|
||||
<checkbox indent="0" key="useDefaultVideoSpeed" dependencies=""></checkbox>
|
||||
<dropdown indent="1" key="defaultVideoSpeed" dependencies="useDefaultVideoSpeed"></dropdown>
|
||||
<!-- <checkbox indent="0" key="useDefaultDanmakuSettings" dependencies=""></checkbox>
|
||||
<checkbox indent="1" key="enableDanmaku" dependencies="useDefaultDanmakuSettings"></checkbox>
|
||||
<checkbox indent="1" key="rememberDanmakuSettings" dependencies="useDefaultDanmakuSettings enableDanmaku">
|
||||
|
||||
@ -139,8 +139,7 @@ export const toolTips = new Map<keyof BilibiliEvolvedSettings, string>([
|
||||
['sideBarOffset', /*html*/`设定侧栏的垂直偏移量, 单位为百分比, 允许的范围为 -40% ~ 40%.`],
|
||||
['hideCategory', /*html*/`隐藏主站的分区栏, 分区仍然可以从顶栏的主站菜单中进入.`],
|
||||
['foldComment', /*html*/`动态里查看评论区时, 在底部添加一个<span>收起评论</span>按钮, 这样就不用再回到上面收起了.`],
|
||||
['useDefaultVideoSpeed', /*html*/`设置是否记忆视频播放速度.`],
|
||||
['defaultVideoSpeed', /*html*/`设置全局默认的视频播放速度,将优先使用用户对特定视频指定的倍数.`],
|
||||
['useDefaultVideoSpeed', /*html*/`设置是否记忆上次选择的视频播放速度.`],
|
||||
['seedsToCoins', /*html*/`在附加功能中添加<span>瓜子换硬币</span>的按钮, 点击可以将700银瓜子换成1个硬币, 每天限1次.`],
|
||||
['autoDraw', /*html*/`在当前直播间有抽奖活动时, 自动点击抽奖按钮. 注意只适用于少量抽奖, 那种99+限量抽奖可能跟不上其他人的手速(`],
|
||||
['keymap', /*html*/`为视频播放器启用更多的快捷键:
|
||||
|
||||
@ -44,9 +44,6 @@ const setup = _.once(async () => {
|
||||
}
|
||||
|
||||
Observer.all(menu, (mutations) => {
|
||||
if (!settings.useDefaultVideoSpeed) {
|
||||
return
|
||||
}
|
||||
mutations.forEach(mutation => {
|
||||
const selectedSpeedOption = mutation.target as HTMLLIElement
|
||||
if (selectedSpeedOption.classList.contains("bilibili-player-active")) {
|
||||
@ -54,15 +51,24 @@ const setup = _.once(async () => {
|
||||
if (!unsafeWindow.aid) {
|
||||
throw "aid is undefined"
|
||||
}
|
||||
addSpeedToSetting(currentSpeed, unsafeWindow.aid, currentSpeed !== getDefaultVideoSpeed())
|
||||
if (settings.rememberVideoSpeed) {
|
||||
addSpeedToSetting(currentSpeed, unsafeWindow.aid, currentSpeed !== getDefaultVideoSpeed())
|
||||
} else {
|
||||
settings.latestVideoSpeed = currentSpeed
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
Observer.videoChange(async () => {
|
||||
if (!settings.useDefaultVideoSpeed) {
|
||||
return
|
||||
}
|
||||
await setup()
|
||||
if (settings.useDefaultVideoSpeed) {
|
||||
if (settings.rememberVideoSpeed) {
|
||||
await setVideoSpeed((getSpeedFromSetting() || getDefaultVideoSpeed()))
|
||||
} else {
|
||||
await setVideoSpeed(settings.latestVideoSpeed)
|
||||
}
|
||||
})
|
||||
|
||||
Loading…
Reference in New Issue
Block a user