fix: break on browser don't support mediaSession

such as stupid WeChat Browser
This commit is contained in:
2022-11-05 22:51:45 +08:00
parent e40fd2625f
commit 51fee5bfe0

View File

@@ -49,12 +49,13 @@ function AudioPlayer(props) {
}) })
} }
// init mediaSession API // init mediaSession API
useEffect(() => { useEffect(() => {
navigator.mediaSession.setActionHandler("stop", () => { if (navigator.mediaSession) {
props.setPlayingFile({}); navigator.mediaSession.setActionHandler("stop", () => {
}); props.setPlayingFile({});
});
}
}, []); }, []);
const updatePlayMode = () => { const updatePlayMode = () => {
@@ -99,11 +100,13 @@ function AudioPlayer(props) {
useEffect(() => { useEffect(() => {
// media session related staff // media session related staff
navigator.mediaSession.metadata = new window.MediaMetadata({ if (navigator.mediaSession) {
title: props.playingFile.filename, navigator.mediaSession.metadata = new window.MediaMetadata({
album: props.playingFile.foldername, title: props.playingFile.filename,
artwork: [{src: "/favicon.png", type: "image/png"}], album: props.playingFile.foldername,
}); artwork: [{src: "/favicon.png", type: "image/png"}],
});
}
// no playing file // no playing file
if (props.playingFile.id === undefined) { if (props.playingFile.id === undefined) {
setPlayingURL(""); setPlayingURL("");