From 57f6960735889bb2d24ae36da9dd285dc5d7b88a Mon Sep 17 00:00:00 2001 From: duckietm Date: Tue, 31 Mar 2026 14:55:29 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=86=99=20Fix=20the=20black=20screen=20in?= =?UTF-8?q?=20some=20cases?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../furniture/FurnitureYoutubeDisplayView.tsx | 52 +++++++++++-------- 1 file changed, 29 insertions(+), 23 deletions(-) diff --git a/src/components/room/widgets/furniture/FurnitureYoutubeDisplayView.tsx b/src/components/room/widgets/furniture/FurnitureYoutubeDisplayView.tsx index 0d8dd5e..f2375ca 100644 --- a/src/components/room/widgets/furniture/FurnitureYoutubeDisplayView.tsx +++ b/src/components/room/widgets/furniture/FurnitureYoutubeDisplayView.tsx @@ -17,42 +17,48 @@ export const FurnitureYoutubeDisplayView: FC<{}> = FurnitureYoutubeDisplayViewPr const onStateChange = (event: { target: YouTubePlayer; data: number }) => { - setPlayer(event.target); - - if(objectId === -1) return; - - switch(event.target.getPlayerState()) + try { - case -1: - case 1: - if(currentVideoState === 2) - { - //event.target.pauseVideo(); - } + setPlayer(event.target); - if(currentVideoState !== 1) play(); - return; - case 2: - if(currentVideoState !== 2) pause(); + if(objectId === -1) return; + + switch(event.target.getPlayerState()) + { + case -1: + case 1: + if(currentVideoState !== 1) play(); + return; + case 2: + if(currentVideoState !== 2) pause(); + } } + catch(err) {} }; useEffect(() => { if((currentVideoState === null) || !player) return; - if((currentVideoState === YoutubeVideoPlaybackStateEnum.PLAYING) && (player.getPlayerState() !== YoutubeVideoPlaybackStateEnum.PLAYING)) + try { - player.playVideo(); + if((currentVideoState === YoutubeVideoPlaybackStateEnum.PLAYING) && (player.getPlayerState() !== YoutubeVideoPlaybackStateEnum.PLAYING)) + { + player.playVideo(); - return; + return; + } + + if((currentVideoState === YoutubeVideoPlaybackStateEnum.PAUSED) && (player.getPlayerState() !== YoutubeVideoPlaybackStateEnum.PAUSED)) + { + player.pauseVideo(); + + return; + } } - - if((currentVideoState === YoutubeVideoPlaybackStateEnum.PAUSED) && (player.getPlayerState() !== YoutubeVideoPlaybackStateEnum.PAUSED)) + catch(err) { - player.pauseVideo(); - - return; + setPlayer(null); } }, [ currentVideoState, player ]);