94150


chromeでWeb Speech
APIのgetVoices()を以下のコードで実行したのですが、空の配列で返ってきます。どうすれば、取得できるのでしょうか。

[code]

    const voice = speechSynthesis.getVoices();
    console.log(voice);
    
    <･ []　//コンソールでの結果
    
[/code]

ちなみに、ChromeはspeechSynthesisに対応していて、コンソールで上記のコードを実行すると、ちゃんと配列を返してくれます。


CC BY-SA 4.0
2023-03-13T03:09:25.623
94148
2023-03-13T03:58:02.803
56895
question
javascript google-chrome
speechSynthesis.getVoices()で使用可能な音声を取得できない


`voiceschanged` イベントを待ってから実行しましょう。ページロード直後は声の用意ができていないことがあります。

[code]

    speechSynthesis.addEventListener('voiceschanged', e => {
      const voice = speechSynthesis.getVoices();
      console.log(voice);
    });
    
[/code]


CC BY-SA 4.0
2023-03-13T03:58:02.803
94150
2023-03-13T03:58:02.803
3475
94148
answer