mirror of
https://github.com/antebudimir/feishin.git
synced 2025-12-31 10:03:33 +00:00
fix scrobble time race condition
- revert playerbar slider refactor - re-implement mediasession handler
This commit is contained in:
parent
4e53030e8d
commit
1b15c73db0
2 changed files with 29 additions and 16 deletions
|
|
@ -115,7 +115,16 @@ export const CenterControls = ({ playersRef }: CenterControlsProps) => {
|
|||
],
|
||||
]);
|
||||
|
||||
useMediaSession(playersRef);
|
||||
useMediaSession({
|
||||
handleNextTrack,
|
||||
handlePause,
|
||||
handlePlay,
|
||||
handlePrevTrack,
|
||||
handleSeekSlider,
|
||||
handleSkipBackward,
|
||||
handleSkipForward,
|
||||
handleStop,
|
||||
});
|
||||
|
||||
return (
|
||||
<>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
import { useEffect } from 'react';
|
||||
|
||||
import { useCenterControls } from '/@/renderer/features/player/hooks/use-center-controls';
|
||||
import {
|
||||
useCurrentSong,
|
||||
useCurrentStatus,
|
||||
|
|
@ -9,26 +8,31 @@ import {
|
|||
} from '/@/renderer/store';
|
||||
import { PlayerStatus } from '/@/shared/types/types';
|
||||
|
||||
export const useMediaSession = (playersRef: { player1: any; player2: any }) => {
|
||||
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;
|
||||
}) => {
|
||||
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;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue