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