代码之家  ›  专栏  ›  技术社区  ›  zaph

iOS Safari SpeechSynthesis无法设置语言

  •  6
  • zaph  · 技术社区  · 6 年前

    我有我的母语(英语)的SpeechSynthesis,但我需要将该语言设置为意大利语才能正确发音。

    代码在Mac Safari中工作正常,但在iOS Safari中,发音是英语而不是意大利语。

    一个简单的测试是意大利语:“Ho i soldi”,“h”在意大利语中是无声的。

    <!DOCTYPE html><html lang='en' class=''>
    
    <head><meta charset='UTF-8'></head>
    <body>
    
    <button id="Ho una prenotazione." onclick=speak(id)>Ho una prenotazione.</button>
    I have a reservation
    
    <script >
        function speak(text) {
            var msg    = new SpeechSynthesisUtterance(text);
            msg.lang = 'it-IT';
            window.speechSynthesis.speak(msg);
        }
    </script>
    
    
    </body></html>
    

    example 上面的代码。

    我下载了意大利语“Luca”,并将其设置为默认设置:General:Accessibility:Speech:Voices:意大利语;Luca

    注:

    我已经向苹果野生动物园发出了一份调查 Web Development Forum 2018年7月26日,至今未回复结果:(422次浏览,0次回复)。

    我还提交了一份苹果开发者技术支持(DTS)请求,该请求于2018年8月16日被拒绝,并建议发布到 Web Development Forum .

    虽然这可能被认为是不相关的话题,但请考虑我已经试过调试,并请求了苹果公司的帮助,但被忽略和拒绝。

    日期:

    2 回复  |  直到 6 年前
        1
  •  5
  •   Stanley    6 年前

    我不得不在评论中发表这一点,所以我会把它作为一个答案。

    这个问题在你的手机或操作系统中可能会持续存在,因为它似乎在我的设备上运行得很好,你有没有试过iphone 6s以外的其他设备?

        2
  •  3
  •   Pranav Sharma    6 年前

    这个问题似乎纯粹是为了测试版。同样的HTML在iPhone 6、7和8plus的iOS 11.4.1上也可以正常工作。然而,通过将语言改成西班牙语,它就完美地工作了。

    <html lang='es' class=''>
    

    当然,这将意味着你的整个网站被认为是西班牙语,但似乎是其中之一,如果你坚持使用测试版。