Estoy tratando de reproducir un archivo de audio en mi proyecto vue.js como tal:
import sound from '../../recordings/sound.mp4' const audio = new Audio(sound) audio.play() Esto funciona perfectamente bien, pero la import solo puede aparecer en el nivel superior, no dentro de una función que idealmente aceptaría cualquier archivo de audio.
Ahora intenté hacerlo de esta manera:
const audio = new Audio('../../recordings/sound.mp4') audio.play()Pero luego me sale este error:
DOMException: no se pudo cargar porque no se encontró una fuente compatible
Encontré una solución a este extraño error en esta respuesta: DOMException: no se pudo cargar porque no se encontró una fuente compatible
La solución fue usar la declaración de importación, pero el problema es que la declaración de importación solo se puede usar en el nivel superior, no dentro de una función.
Entonces, ¿cómo puedo reproducir dinámicamente un archivo de audio con vue.js?
Puede importar su archivo de audio dentro de una función usando Dynamic Imports
(async () => { let sound = await import('../../recordings/sound.mp4'); const audio = new Audio(sound); audio.play(); })();