fix: register audio event handlers before setting src to avoid onloadedmetadata race
All checks were successful
Build and Push / build (push) Successful in 1m11s
All checks were successful
Build and Push / build (push) Successful in 1m11s
This commit is contained in:
@@ -74,12 +74,11 @@ export default function Speakers() {
|
||||
return;
|
||||
}
|
||||
|
||||
audio.src = blobUrl;
|
||||
audio.load();
|
||||
|
||||
await new Promise<void>((resolve, reject) => {
|
||||
audio.onloadedmetadata = () => resolve();
|
||||
audio.onerror = () => reject(new Error("Audio decode failed"));
|
||||
audio.src = blobUrl;
|
||||
audio.load();
|
||||
});
|
||||
|
||||
if (!cancelled) setAudioLoading(false);
|
||||
@@ -181,6 +180,7 @@ export default function Speakers() {
|
||||
onTimeUpdate={(e) => setCurrentTime(e.currentTarget.currentTime)}
|
||||
onLoadedMetadata={(e) => setDuration(e.currentTarget.duration)}
|
||||
controls
|
||||
preload="auto"
|
||||
className="w-full mb-3"
|
||||
/>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user