feat(directory): handle voice on and off correctly
This commit is contained in:
@@ -1 +1 @@
|
||||
0.5.29
|
||||
0.5.30
|
||||
@@ -51,11 +51,15 @@ export default function useAudio() {
|
||||
}, [])
|
||||
|
||||
const getSrc = useCallback(() => audioEl.src, [])
|
||||
const resetSrc = useCallback(() => {
|
||||
audioEl.src = ''
|
||||
}, [])
|
||||
|
||||
return {
|
||||
play,
|
||||
stop,
|
||||
getSrc,
|
||||
resetSrc,
|
||||
isPlaying,
|
||||
isPlayingRef,
|
||||
}
|
||||
|
||||
@@ -88,13 +88,20 @@ export default function Home() {
|
||||
|
||||
function OperatorElement({ item, hidden }) {
|
||||
const { textDefaultLang, language, alternateLang } = useLanguage()
|
||||
const { play } = useAudio()
|
||||
const { play, stop, resetSrc } = useAudio()
|
||||
const [voiceOn] = useAtom(voiceOnAtom)
|
||||
|
||||
const playVoice = useCallback(() => {
|
||||
if (!voiceOn) return
|
||||
play(`/${item.link}/assets/${JSON.parse(import.meta.env.VITE_VOICE_FOLDERS).main}/${import.meta.env.VITE_APP_VOICE_URL}`)
|
||||
}, [play, item.link, voiceOn])
|
||||
}, [voiceOn, play, item.link])
|
||||
|
||||
useEffect(() => {
|
||||
if (!voiceOn) {
|
||||
stop()
|
||||
resetSrc()
|
||||
}
|
||||
}, [voiceOn, stop, resetSrc])
|
||||
|
||||
return useMemo(() => {
|
||||
return (
|
||||
|
||||
@@ -91,6 +91,10 @@ export default function Operator() {
|
||||
stop()
|
||||
}, [setExtraArea, stop])
|
||||
|
||||
useEffect(() => {
|
||||
if (!voiceLang) stop()
|
||||
}, [stop, voiceLang])
|
||||
|
||||
useEffect(() => {
|
||||
if (backgrounds) setCurrentBackground(backgrounds[0])
|
||||
}, [backgrounds])
|
||||
|
||||
Reference in New Issue
Block a user