From 51fee5bfe09674b4a8a658fb5eb4dcb3690af2af Mon Sep 17 00:00:00 2001 From: heimoshuiyu Date: Sat, 5 Nov 2022 22:51:45 +0800 Subject: [PATCH] fix: break on browser don't support mediaSession such as stupid WeChat Browser --- web/src/component/AudioPlayer.js | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/web/src/component/AudioPlayer.js b/web/src/component/AudioPlayer.js index 269c9b6..ba43172 100644 --- a/web/src/component/AudioPlayer.js +++ b/web/src/component/AudioPlayer.js @@ -49,12 +49,13 @@ function AudioPlayer(props) { }) } - // init mediaSession API useEffect(() => { - navigator.mediaSession.setActionHandler("stop", () => { - props.setPlayingFile({}); - }); + if (navigator.mediaSession) { + navigator.mediaSession.setActionHandler("stop", () => { + props.setPlayingFile({}); + }); + } }, []); const updatePlayMode = () => { @@ -99,11 +100,13 @@ function AudioPlayer(props) { useEffect(() => { // media session related staff - navigator.mediaSession.metadata = new window.MediaMetadata({ - title: props.playingFile.filename, - album: props.playingFile.foldername, - artwork: [{src: "/favicon.png", type: "image/png"}], - }); + if (navigator.mediaSession) { + navigator.mediaSession.metadata = new window.MediaMetadata({ + title: props.playingFile.filename, + album: props.playingFile.foldername, + artwork: [{src: "/favicon.png", type: "image/png"}], + }); + } // no playing file if (props.playingFile.id === undefined) { setPlayingURL("");