mirror of
https://github.com/jeffvli/feishin.git
synced 2026-05-09 20:29:36 +02:00
fix mpv exiting on radio stop
This commit is contained in:
@@ -10,6 +10,7 @@ import {
|
|||||||
usePlayerMuted,
|
usePlayerMuted,
|
||||||
usePlayerStoreBase,
|
usePlayerStoreBase,
|
||||||
usePlayerVolume,
|
usePlayerVolume,
|
||||||
|
useSettingsStore,
|
||||||
} from '/@/renderer/store';
|
} from '/@/renderer/store';
|
||||||
import { toast } from '/@/shared/components/toast/toast';
|
import { toast } from '/@/shared/components/toast/toast';
|
||||||
import { PlayerStatus, PlayerType } from '/@/shared/types/types';
|
import { PlayerStatus, PlayerType } from '/@/shared/types/types';
|
||||||
@@ -68,13 +69,22 @@ export const useRadioStore = createWithEqualityFn<RadioStore>((set) => ({
|
|||||||
setMetadata: (metadata) => set({ metadata }),
|
setMetadata: (metadata) => set({ metadata }),
|
||||||
setStationName: (stationName) => set({ stationName }),
|
setStationName: (stationName) => set({ stationName }),
|
||||||
stop: () => {
|
stop: () => {
|
||||||
|
const playbackType = useSettingsStore.getState().playback.type;
|
||||||
|
|
||||||
set({
|
set({
|
||||||
currentStreamUrl: null,
|
currentStreamUrl: null,
|
||||||
isPlaying: false,
|
isPlaying: false,
|
||||||
metadata: null,
|
metadata: null,
|
||||||
stationName: null,
|
stationName: null,
|
||||||
});
|
});
|
||||||
usePlayerStoreBase.getState().mediaStop();
|
|
||||||
|
// When stopping radio with mpv, just pause instead of calling mediaStop
|
||||||
|
// This prevents mpv from quitting
|
||||||
|
if (playbackType === PlayerType.LOCAL && mpvPlayer) {
|
||||||
|
mpvPlayer.pause();
|
||||||
|
} else {
|
||||||
|
usePlayerStoreBase.getState().mediaStop();
|
||||||
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
currentStreamUrl: null,
|
currentStreamUrl: null,
|
||||||
@@ -135,7 +145,7 @@ export const useRadioAudioInstance = () => {
|
|||||||
if (currentStreamUrl) {
|
if (currentStreamUrl) {
|
||||||
mpvPlayer.setQueue(currentStreamUrl, undefined, !isPlaying);
|
mpvPlayer.setQueue(currentStreamUrl, undefined, !isPlaying);
|
||||||
} else {
|
} else {
|
||||||
mpvPlayer.setQueue(undefined, undefined, true);
|
mpvPlayer.pause();
|
||||||
}
|
}
|
||||||
}, [
|
}, [
|
||||||
currentStreamUrl,
|
currentStreamUrl,
|
||||||
|
|||||||
Reference in New Issue
Block a user