Aquí está mi función de reproducción de audio simple:
let audioPlayResolve; async function audioPlay(source) { return new Promise(resolve => { audioPlayResolve = resolve; if(source === undefined) { resolve(); return; } const audio = new Audio(source); audio.crossOrigin = 'anonymous'; audio.volume = 0.9; Playing.audios.push(audio); audio.play(); audio.onerror = function() { console.log("Error loading: " + this.src); resolve(); } audio.addEventListener("ended", function() { audio.currentTime = 0; resolve(); }); }); }Esto funciona bien en ventanas cromadas .
El problema es que cuando reproduzco audio en Android Chrome , la voz se distorsiona de alguna manera como si fuera la voz de una llamada telefónica.
Lo interesante es que cuando decidí cambiar el volumen de mi teléfono, noté que el volumen del audio no está controlado por el volumen de media volume de la call volume .
Entonces, si bajo el volumen multimedia de mi teléfono a 0, el audio que reproduje a través de la función anterior todavía tiene volumen y ¡puedo escucharlo!
¿Qué debo hacer para solucionar estos dos problemas?