diff --git a/components/teks/lekte.js b/components/teks/lekte.js index a0740ac..408bfcb 100644 --- a/components/teks/lekte.js +++ b/components/teks/lekte.js @@ -20,6 +20,12 @@ import {getAlias} from '../../lib/utils/format' const IMAGE_URL = process.env.NEXT_PUBLIC_API_URL_ROOT || 'http://localhost:1337' +function createAudio(src) { + const audio = new Audio(src) + audio.preload = 'metadata' + return audio +} + function parseLrc(text) { const lines = [] for (const raw of text.split('\n')) { @@ -68,7 +74,7 @@ const TinyText = styled(Typography)({ }) export default function Lekte({audio, url, parole}) { - const audioRef = useRef(new Audio(audio)) + const audioRef = useRef(createAudio(audio)) const intervalRef = useRef() const isReady = useRef(false) const [duration, setDuration] = useState(0) @@ -135,7 +141,7 @@ export default function Lekte({audio, url, parole}) { useEffect(() => { audioRef.current.pause() - audioRef.current = new Audio(audio) + audioRef.current = createAudio(audio) setIsPlaying(false) setVolume(100) setPosition(0)