diff --git a/src/renderer/app.tsx b/src/renderer/app.tsx index 9725c2d5..091d090c 100644 --- a/src/renderer/app.tsx +++ b/src/renderer/app.tsx @@ -57,6 +57,9 @@ export const App = () => { const initializeMpv = async () => { const isRunning: boolean | undefined = await mpvPlayer?.isRunning(); + mpvPlayer?.pause(); + mpvPlayer?.stop(); + if (!isRunning) { const extraParameters = useSettingsStore.getState().playback.mpvExtraParameters; const properties = { diff --git a/src/renderer/features/now-playing/components/play-queue.tsx b/src/renderer/features/now-playing/components/play-queue.tsx index 5f9a2b7b..d101588d 100644 --- a/src/renderer/features/now-playing/components/play-queue.tsx +++ b/src/renderer/features/now-playing/components/play-queue.tsx @@ -15,6 +15,7 @@ import { usePlayerControls, usePreviousSong, useQueueControls, + useVolume, } from '/@/renderer/store'; import { usePlayerType, @@ -54,6 +55,7 @@ export const PlayQueue = forwardRef(({ type }: QueueProps, ref: Ref) => { const [gridApi, setGridApi] = useState(); const playerType = usePlayerType(); const { play } = usePlayerControls(); + const volume = useVolume(); useEffect(() => { if (tableRef.current) { @@ -78,6 +80,7 @@ export const PlayQueue = forwardRef(({ type }: QueueProps, ref: Ref) => { }); if (playerType === PlaybackType.LOCAL) { + mpvPlayer!.volume(volume); mpvPlayer!.setQueue(playerData); mpvPlayer!.play(); } diff --git a/src/renderer/features/player/hooks/use-handle-playqueue-add.ts b/src/renderer/features/player/hooks/use-handle-playqueue-add.ts index c086ef3e..9b81ecf3 100644 --- a/src/renderer/features/player/hooks/use-handle-playqueue-add.ts +++ b/src/renderer/features/player/hooks/use-handle-playqueue-add.ts @@ -172,6 +172,7 @@ export const useHandlePlayQueueAdd = () => { } if (playType === Play.NOW) { + mpvPlayer!.cleanup(); mpvPlayer!.setQueue(playerData); mpvPlayer!.play(); }