Add default video speed

This commit is contained in:
the1812 2019-07-07 19:14:36 +08:00
parent 220baeea2a
commit 5108d8e9e8
14 changed files with 109 additions and 15 deletions

View File

@ -279,7 +279,7 @@ declare global
hideHomeLive: boolean,
noMiniVideoAutoplay: boolean,
useDefaultVideoSpeed: boolean,
defaultVideoSpeed: number,
defaultVideoSpeed: string,
hideCategory: boolean,
foldComment: boolean,
latestVersionLink: string,

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -243,7 +243,7 @@ const settings = {
hideHomeLive: false,
noMiniVideoAutoplay: false,
useDefaultVideoSpeed: false,
defaultVideoSpeed: 1,
defaultVideoSpeed: '1',
hideCategory: false,
foldComment: true,
cache: {},
@ -1839,6 +1839,17 @@ Resource.manifest = {
foldComment: '快速收起动态评论区',
},
},
useDefaultVideoSpeed: {
path: 'default-video-speed.min.js',
displayNames: {
useDefaultVideoSpeed: '使用默认播放速度',
defaultVideoSpeed: '默认播放速度',
},
dropdown: {
key: 'defaultVideoSpeed',
items: ['0.5', '0.75', '1', '1.25', '1.5', '2.0'],
}
},
}
const resourceManifest = Resource.manifest
;

View File

@ -243,7 +243,7 @@ const settings = {
hideHomeLive: false,
noMiniVideoAutoplay: false,
useDefaultVideoSpeed: false,
defaultVideoSpeed: 1,
defaultVideoSpeed: '1',
hideCategory: false,
foldComment: true,
cache: {},
@ -1839,6 +1839,17 @@ Resource.manifest = {
foldComment: '快速收起动态评论区',
},
},
useDefaultVideoSpeed: {
path: 'default-video-speed.min.js',
displayNames: {
useDefaultVideoSpeed: '使用默认播放速度',
defaultVideoSpeed: '默认播放速度',
},
dropdown: {
key: 'defaultVideoSpeed',
items: ['0.5', '0.75', '1', '1.25', '1.5', '2.0'],
}
},
}
const resourceManifest = Resource.manifest
;

View File

@ -18,7 +18,7 @@ namespace BilibiliEvolved.Build
|| file.FullName.Contains(@"utils\")
|| file.FullName.Contains(@"video\")) &&
file.Extension == ".ts" &&
!file.Name.EndsWith("d.ts")
!file.Name.EndsWith(".d.ts")
);
using (var cache = new BuildCache())
{

Binary file not shown.

View File

@ -631,5 +631,16 @@ Resource.manifest = {
foldComment: '快速收起动态评论区',
},
},
useDefaultVideoSpeed: {
path: 'default-video-speed.min.js',
displayNames: {
useDefaultVideoSpeed: '使用默认播放速度',
defaultVideoSpeed: '默认播放速度',
},
dropdown: {
key: 'defaultVideoSpeed',
items: ['0.5', '0.75', '1', '1.25', '1.5', '2.0'],
}
},
}
export const resourceManifest = Resource.manifest

View File

@ -122,7 +122,7 @@ export const settings = {
hideHomeLive: false,
noMiniVideoAutoplay: false,
useDefaultVideoSpeed: false,
defaultVideoSpeed: 1,
defaultVideoSpeed: '1',
hideCategory: false,
foldComment: true,
cache: {},

View File

@ -1 +1 @@
(()=>{return(r,e)=>{}})();
(()=>{return(e,a)=>{const i=a=>{const i=parseFloat(e.defaultVideoSpeed);a.playbackRate=i;SpinQuery.condition(()=>a,()=>a.playbackRate!==i,()=>a.playbackRate=i)};Observer.videoChange(()=>{const e=dq(".bilibili-player-video video");if(!e){return}if(e.paused){e.addEventListener("play",()=>i(e),{once:true})}else{i(e)}})}})();

File diff suppressed because one or more lines are too long

View File

@ -27,6 +27,8 @@
<checkbox indent="1" key="autoLightOff" dependencies="useDefaultPlayerMode"></checkbox>
<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">

View File

@ -0,0 +1,17 @@
const setPlaybackRate = (video) => {
const speed = parseFloat(settings.defaultVideoSpeed);
video.playbackRate = speed;
SpinQuery.condition(() => video, () => video.playbackRate !== speed, () => video.playbackRate = speed);
};
Observer.videoChange(() => {
const video = dq('.bilibili-player-video video');
if (!video) {
return;
}
if (video.paused) {
video.addEventListener('play', () => setPlaybackRate(video), { once: true });
}
else {
setPlaybackRate(video);
}
});

View File

@ -0,0 +1,20 @@
const setPlaybackRate = (video: HTMLVideoElement) => {
const speed = parseFloat(settings.defaultVideoSpeed)
video.playbackRate = speed
SpinQuery.condition(
() => video,
() => video.playbackRate !== speed,
() => video.playbackRate = speed
)
}
Observer.videoChange(() => {
const video = dq('.bilibili-player-video video') as HTMLVideoElement
if (!video) {
return
}
if (video.paused) {
video.addEventListener('play', () => setPlaybackRate(video), { once: true })
} else {
setPlaybackRate(video)
}
})