diff --git a/src/renderer/features/player/components/center-controls.tsx b/src/renderer/features/player/components/center-controls.tsx
index 039848e7..08ffce67 100644
--- a/src/renderer/features/player/components/center-controls.tsx
+++ b/src/renderer/features/player/components/center-controls.tsx
@@ -57,7 +57,6 @@ export const CenterControls = ({ playersRef }: CenterControlsProps) => {
handlePlay,
handlePlayPause,
handlePrevTrack,
- handleSeekSlider,
handleSkipBackward,
handleSkipForward,
handleStop,
@@ -85,16 +84,7 @@ export const CenterControls = ({ playersRef }: CenterControlsProps) => {
],
]);
- useMediaSession({
- handleNextTrack,
- handlePause,
- handlePlay,
- handlePrevTrack,
- handleSeekSlider,
- handleSkipBackward,
- handleSkipForward,
- handleStop,
- });
+ useMediaSession(playersRef);
return (
<>
@@ -237,24 +227,22 @@ export const CenterControls = ({ playersRef }: CenterControlsProps) => {
/>
-
+
>
);
};
const PlayerSeekSlider = ({
- handleSeekSlider,
player1,
player2,
+ playersRef,
}: {
- handleSeekSlider: (e: any | number) => void;
player1: any;
player2: any;
+ playersRef: any;
}) => {
+ const { handleSeekSlider } = useCenterControls({ playersRef });
+
const player = useCurrentPlayer();
const playbackType = usePlaybackType();
const setCurrentTime = useSetCurrentTime();
diff --git a/src/renderer/features/player/hooks/use-media-session.ts b/src/renderer/features/player/hooks/use-media-session.ts
index 94fba8ea..aa157eb4 100644
--- a/src/renderer/features/player/hooks/use-media-session.ts
+++ b/src/renderer/features/player/hooks/use-media-session.ts
@@ -1,5 +1,6 @@
import { useEffect } from 'react';
+import { useCenterControls } from '/@/renderer/features/player/hooks/use-center-controls';
import {
useCurrentSong,
useCurrentStatus,
@@ -8,31 +9,26 @@ import {
} from '/@/renderer/store';
import { PlayerStatus } from '/@/shared/types/types';
-export const useMediaSession = ({
- handleNextTrack,
- handlePause,
- handlePlay,
- handlePrevTrack,
- handleSeekSlider,
- handleSkipBackward,
- handleSkipForward,
- handleStop,
-}: {
- handleNextTrack: () => void;
- handlePause: () => void;
- handlePlay: () => void;
- handlePrevTrack: () => void;
- handleSeekSlider: (e: any | number) => void;
- handleSkipBackward: (seconds: number) => void;
- handleSkipForward: (seconds: number) => void;
- handleStop: () => void;
-}) => {
+export const useMediaSession = (playersRef: { player1: any; player2: any }) => {
const { mediaSession: mediaSessionEnabled } = usePlaybackSettings();
const playerStatus = useCurrentStatus();
const currentSong = useCurrentSong();
const mediaSession = navigator.mediaSession;
const skip = useSettingsStore((state) => state.general.skipButtons);
+ const {
+ handleNextTrack,
+ handlePause,
+ handlePlay,
+ handlePrevTrack,
+ handleSeekSlider,
+ handleSkipBackward,
+ handleSkipForward,
+ handleStop,
+ } = useCenterControls({
+ playersRef,
+ });
+
useEffect(() => {
if (!mediaSessionEnabled || !mediaSession) {
return;