diff --git a/src/video/video-speed/extend-video-speed.ts b/src/video/video-speed/extend-video-speed.ts index cd5316d83..3556f6e0a 100644 --- a/src/video/video-speed/extend-video-speed.ts +++ b/src/video/video-speed/extend-video-speed.ts @@ -77,6 +77,7 @@ export const getExtraSpeedMenuItemElements = async () => { afterElement = afterElement.nextElementSibling as HTMLLIElement; } afterElement.before(createExtendedSpeedMenuItemElement(value)) + updateInput(input) } }) @@ -140,6 +141,8 @@ export const getExtraSpeedMenuItemElements = async () => { .${VideoSpeedController.classNameMap.speedMenuList} { display: flex; flex-direction: column; + overflow-y: auto; + max-height: 360px; } `, "extend-video-speed-style") diff --git a/src/video/video-speed/video-speed-controller.ts b/src/video/video-speed/video-speed-controller.ts index 18cecbf67..ee29fa351 100644 --- a/src/video/video-speed/video-speed-controller.ts +++ b/src/video/video-speed/video-speed-controller.ts @@ -118,7 +118,7 @@ export class VideoSpeedController { const { getExtraSpeedMenuItemElements } = await import("./extend-video-speed") const { calcOrder } = await import("./video-speed-common") // 有必要传递之前的 nativeSpeedVal,跨分 P 时原生倍数将保持一样 - const controller = await VideoSpeedController.getInstance(sharedSpeed) + const controller = await VideoSpeedController.getInstance(sharedSpeed, sharedNativeSpeed) containerElement = controller.containerElement if (containerElement.classList.contains("extended")) { return @@ -128,7 +128,7 @@ export class VideoSpeedController { // 为所有原生倍速菜单项设置 Order controller._menuListElement.querySelectorAll(`.${VideoSpeedController.classNameMap.speedMenuItem}[data-value]:not(.extended)`).forEach( (it: HTMLLIElement) => { it.style.order = calcOrder(parseFloat(it.getAttribute("data-value")!)) } - ); + ) // 如果开启了扩展倍数,存在一种场景使倍数设置会失效: // 1. 用户从原生支持的倍数切换到扩展倍数 // 2. 用户从扩展倍数切换到之前选中的原生倍数 @@ -296,7 +296,7 @@ export class VideoSpeedController { return } VideoSpeedController.forgetSpeed() - this.setVideoSpeed(VideoSpeedController.fallbackVideoSpeed) + this.setVideoSpeed(fallbackVideoSpeed) } else { this.setVideoSpeed(1) }