
Sí. I en el teu cas no cal tocar Flask ni el TTS: el que està impedint que soni automàticament és molt probablement la política d’autoreproducció del Firefox.
A la captura es veu que la pàgina ja genera correctament l’àudio i mostra el reproductor. El que falta és que Firefox faci play() sense que tu premis el botó.
1. Primer: fes que la pàgina HTML intenti reproduir-lo automàticament
Si ara tens alguna cosa semblant a:
<audio controls src="{{ audio_file }}"></audio>
canvia-ho per:
<audio controls autoplay src="{{ audio_file }}"></audio>
O, millor encara:
<audio id="audio" controls autoplay>
<source src="{{ audio_file }}" type="audio/wav">
</audio>
<script>
window.addEventListener("load", function () {
const audio = document.getElementById("audio");
audio.play().catch(function(error) {
console.log("Autoplay bloquejat:", error);
});
});
</script>
Això farà que la pàgina demani a Firefox que comenci a reproduir l’àudio tan aviat com es carregui.
2. Però aquí hi ha la clau: Firefox
Firefox bloqueja per defecte la reproducció automàtica amb so en molts casos. Mozilla confirma que es pot permetre l’autoreproducció per a un lloc concret. (Suport de Mozilla)
Per tant, jo faria primer aquesta prova:
Obre:
http://192.168.1.49:5040/processa
i mira a l’esquerra de la barra d’adreces el símbol relacionat amb l’autoreproducció/permisos.
També pots anar a:
Firefox → Ajustos → Privadesa i seguretat → Permisos → Reproducció automàtica → Configuració
i permetre:
Permetre àudio i vídeo
per al teu servidor.
Mozilla permet precisament configurar aquesta excepció per lloc web, de manera que no cal canviar el comportament de tot Internet. (Suport de Mozilla)
3. Per al teu projecte jo faria això
El flux quedaria:
index.html
│
│ POST
▼
/processa
│
▼
crear_html_i_tts.py
│
│ genera WAV
▼
pàgina Flask
│
│ AUTOPLAY
▼
🔊 ÀUDIO
És a dir, no necessitem cap botó «Play».
I això encaixa perfectament amb el que estàvem construint: el servidor genera l’àudio i el navegador simplement el reprodueix.
Una cosa important
Si vols que sigui 100% automàtic fins i tot quan Firefox obre una pestanya nova, hem de configurar dues coses:
- el
<audio autoplay>/ JavaScript de Flask; - donar permís d’autoreproducció a
192.168.1.49:5040al Firefox.
La segona és la que probablement et falta ara mateix.
Si vols, podem fer-ho pas a pas sobre el teu index.html actual i el Flask, i et preparo exactament el codi que has de substituir perquè quan entri a /processa soni directament l’àudio sense tocar absolutament res.