feat: fixes and formatter
This commit is contained in:
@@ -1,50 +1,50 @@
|
||||
import { useEffect, useMemo, useState } from "react";
|
||||
import { useVideoPlayer } from "expo-video";
|
||||
import { useEffect, useMemo, useState } from 'react'
|
||||
import { useVideoPlayer } from 'expo-video'
|
||||
|
||||
const usePlaybackPlayer = ({ item, isActive }) => {
|
||||
const baseVideoUrl = item?.playbackUrl || null;
|
||||
const videoUrl = baseVideoUrl;
|
||||
const baseVideoUrl = item?.playbackUrl || null
|
||||
const videoUrl = baseVideoUrl
|
||||
|
||||
const videoPlayer = useVideoPlayer(videoUrl || null, (player) => {
|
||||
player.loop = false;
|
||||
player.muted = false;
|
||||
player.timeUpdateEventInterval = 0.2;
|
||||
});
|
||||
player.loop = false
|
||||
player.muted = false
|
||||
player.timeUpdateEventInterval = 0.2
|
||||
})
|
||||
|
||||
const shouldAutoPlay = isActive;
|
||||
const shouldAutoPlay = isActive
|
||||
|
||||
useEffect(() => {
|
||||
if (!videoPlayer) return;
|
||||
if (!videoPlayer) return
|
||||
if (shouldAutoPlay) {
|
||||
try {
|
||||
videoPlayer.currentTime = 0;
|
||||
videoPlayer.play();
|
||||
videoPlayer.currentTime = 0
|
||||
videoPlayer.play()
|
||||
} catch (e) {}
|
||||
} else if (videoPlayer?.playing) {
|
||||
try {
|
||||
videoPlayer.pause();
|
||||
videoPlayer.pause()
|
||||
} catch (e) {}
|
||||
}
|
||||
}, [shouldAutoPlay, videoPlayer]);
|
||||
}, [shouldAutoPlay, videoPlayer])
|
||||
|
||||
useEffect(() => {
|
||||
return () => {
|
||||
try {
|
||||
if (videoPlayer?.playing) videoPlayer.pause();
|
||||
if (videoPlayer?.playing) videoPlayer.pause()
|
||||
} catch (e) {}
|
||||
};
|
||||
}, [videoPlayer]);
|
||||
}
|
||||
}, [videoPlayer])
|
||||
|
||||
const [currentTimeS, setCurrentTimeS] = useState(0);
|
||||
const [currentTimeS, setCurrentTimeS] = useState(0)
|
||||
useEffect(() => {
|
||||
if (!isActive) return;
|
||||
if (!isActive) return
|
||||
const id = global.setInterval(() => {
|
||||
try {
|
||||
setCurrentTimeS(Number(videoPlayer?.currentTime || 0));
|
||||
setCurrentTimeS(Number(videoPlayer?.currentTime || 0))
|
||||
} catch (e) {}
|
||||
}, 250);
|
||||
return () => global.clearInterval(id);
|
||||
}, [isActive, videoPlayer]);
|
||||
}, 250)
|
||||
return () => global.clearInterval(id)
|
||||
}, [isActive, videoPlayer])
|
||||
|
||||
const playerState = useMemo(
|
||||
() => ({
|
||||
@@ -53,9 +53,9 @@ const usePlaybackPlayer = ({ item, isActive }) => {
|
||||
currentTimeS,
|
||||
}),
|
||||
[videoPlayer, videoUrl, currentTimeS]
|
||||
);
|
||||
)
|
||||
|
||||
return playerState;
|
||||
};
|
||||
return playerState
|
||||
}
|
||||
|
||||
export default usePlaybackPlayer;
|
||||
export default usePlaybackPlayer
|
||||
|
||||
Reference in New Issue
Block a user