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 getSrc = useCallback(() => audioEl.src, [])
|
||||||
|
const resetSrc = useCallback(() => {
|
||||||
|
audioEl.src = ''
|
||||||
|
}, [])
|
||||||
|
|
||||||
return {
|
return {
|
||||||
play,
|
play,
|
||||||
stop,
|
stop,
|
||||||
getSrc,
|
getSrc,
|
||||||
|
resetSrc,
|
||||||
isPlaying,
|
isPlaying,
|
||||||
isPlayingRef,
|
isPlayingRef,
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -88,13 +88,20 @@ export default function Home() {
|
|||||||
|
|
||||||
function OperatorElement({ item, hidden }) {
|
function OperatorElement({ item, hidden }) {
|
||||||
const { textDefaultLang, language, alternateLang } = useLanguage()
|
const { textDefaultLang, language, alternateLang } = useLanguage()
|
||||||
const { play } = useAudio()
|
const { play, stop, resetSrc } = useAudio()
|
||||||
const [voiceOn] = useAtom(voiceOnAtom)
|
const [voiceOn] = useAtom(voiceOnAtom)
|
||||||
|
|
||||||
const playVoice = useCallback(() => {
|
const playVoice = useCallback(() => {
|
||||||
if (!voiceOn) return
|
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}/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 useMemo(() => {
|
||||||
return (
|
return (
|
||||||
|
|||||||
@@ -91,6 +91,10 @@ export default function Operator() {
|
|||||||
stop()
|
stop()
|
||||||
}, [setExtraArea, stop])
|
}, [setExtraArea, stop])
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
if (!voiceLang) stop()
|
||||||
|
}, [stop, voiceLang])
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (backgrounds) setCurrentBackground(backgrounds[0])
|
if (backgrounds) setCurrentBackground(backgrounds[0])
|
||||||
}, [backgrounds])
|
}, [backgrounds])
|
||||||
|
|||||||
Reference in New Issue
Block a user