He intentado hacer un texto a voz en mi página web con Web Speech API. El problema es que cuando el código se ejecuta en Safari (probado solo en Chrome, Edge y Safari todavía) no se lee en el idioma necesario, creo que porque la lista de voces cambia en Safari y no pudo solucionarlo, lo necesito para estar en idioma turco.
<button id="cancelBtn" class="btn btn-outline-danger btn-xs rounded" style="padding: 4px 7px; margin-top: 15px;">Okumayi durdur</button> <button id="speakBtn" type="button" class="btn btn-outline-primary btn-xs rounded pull-right" style="padding: 4px 7px; margin-top: 15px;">Haberi Oku <i class="fa fa-bullhorn"></i></button> <?php $pt=$row['postdetails']; echo (substr($pt,0));?> <script> window.speechSynthesis.onvoiceschanged; function textToSpeech() { //alert("Test"); //for test only. const speech = new SpeechSynthesisUtterance(); let voices = speechSynthesis.getVoices(); let convert = document.getElementById("textID").innerHTML; speech.text = convert; speech.volume = 1; speech.rate = 1; speech.pitch = 1; speech.voice = voices[3]; console.log(voices[3]); speechSynthesis.speak(speech); } //function pause() { // window.speechSynthesis.pause(); //} function stop() { window.speechSynthesis.cancel(); } speakBtn.addEventListener('click', textToSpeech); //pauseBtn.addEventListener('click', pause); cancelBtn.addEventListener('click', stop); </script>