diff --git a/src/renderer/features/player/audio-player/engine/web-player-engine.tsx b/src/renderer/features/player/audio-player/engine/web-player-engine.tsx index ebf8a65f7..cf81cb25f 100644 --- a/src/renderer/features/player/audio-player/engine/web-player-engine.tsx +++ b/src/renderer/features/player/audio-player/engine/web-player-engine.tsx @@ -1,6 +1,6 @@ import type { RefObject } from 'react'; -import { useImperativeHandle, useRef, useState } from 'react'; +import { useEffect, useImperativeHandle, useRef, useState } from 'react'; import ReactPlayer from 'react-player'; import { AudioPlayer, PlayerOnProgressProps } from '/@/renderer/features/player/audio-player/types'; @@ -32,6 +32,7 @@ interface WebPlayerEngineProps { playerNum: number; playerRef: RefObject; playerStatus: PlayerStatus; + preservesPitch: boolean; speed?: number; src1: string | undefined; src2: string | undefined; @@ -59,6 +60,7 @@ export const WebPlayerEngine = (props: WebPlayerEngineProps) => { playerNum, playerRef, playerStatus, + preservesPitch, speed, src1, src2, @@ -149,6 +151,17 @@ export const WebPlayerEngine = (props: WebPlayerEngineProps) => { }; }; + useEffect(() => { + const player1 = player1Ref.current?.getInternalPlayer(); + if (player1) { + player1.preservesPitch = preservesPitch; + } + const player2 = player2Ref.current?.getInternalPlayer(); + if (player2) { + player2.preservesPitch = preservesPitch; + } + }, [preservesPitch]); + return (
(status); const [isTransitioning, setIsTransitioning] = useState(false); @@ -432,6 +432,7 @@ export function WebPlayer() { playerNum={num} playerRef={playerRef} playerStatus={localPlayerStatus} + preservesPitch={preservePitch} speed={speed} src1={player1Url} src2={player2Url}