Dígame, por favor, ¿es posible poner el resultado del lector en const audio = new Audio(""); , es decir, en "" ? Si es así, por favor dígame cómo hacerlo. Código completo:
function previewWAV() { var preview = document.querySelector('.download-button.fas.fa-download'); var previewDisplay = document.querySelector('.preview-div.wav'); var file = document.querySelector('#upload').files[0]; var reader = new FileReader(); previewDisplay.style.display = "block"; reader.onloadend = function () { preview.href = reader.result; const audio = new Audio("reader.result"); } if (file) { reader.readAsDataURL(file); } else { preview.src = ""; } }Eso no funcionará.
Audio() acepta una URL como su único parámetro.
FileReader.result devuelve el contenido del archivo , no su URL.
Si el archivo que está tratando de reproducir ya está en una URL, puede enviar esa URL a Audio() y omitir todo el paso de FileReader.
Si está tratando de obtener una vista previa de un archivo antes de cargarlo, puede usar URL.createObjectURL() en el objeto del archivo para generar un DOMString utilizable que puede pasar a Audio() :
let file = document.querySelector('#upload').files[0]; let fileURL = URL.createObjectURL(file); let audio = new Audio(fileURL);