From 15367f388e3ec7ef74cd47e706d104c9583bcb13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20FAMIBELLE-PRONZOLA?= Date: Sat, 4 Jul 2026 00:03:18 +0400 Subject: [PATCH] =?UTF-8?q?perf:=20ne=20plus=20pr=C3=A9charger=20le=20fich?= =?UTF-8?q?ier=20audio=20entier=20avant=20lecture?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/teks/lekte.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) 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)