SpeechSynthesisUtterance: voice プロパティ
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2018.
voice
は SpeechSynthesisUtterance
インターフェイスのプロパティで、発話に使用する音声を取得および設定します。
これは SpeechSynthesis.getVoices()
が返す SpeechSynthesisVoice
オブジェクトのいずれかに設定する必要があります。
発話時点までに設定されていない場合、使用する音声は発話の lang
設定で利用できる最も適した既定値になります。
値
SpeechSynthesisVoice
オブジェクトです。
例
js
const synth = window.speechSynthesis;
const inputForm = document.querySelector("form");
const inputTxt = document.querySelector("input");
const voiceSelect = document.querySelector("select");
const voices = synth.getVoices();
// ...
inputForm.onsubmit = (event) => {
event.preventDefault();
const utterThis = new SpeechSynthesisUtterance(inputTxt.value);
const selectedOption =
voiceSelect.selectedOptions[0].getAttribute("data-name");
for (let i = 0; i < voices.length; i++) {
if (voices[i].name === selectedOption) {
utterThis.voice = voices[i];
}
}
synth.speak(utterThis);
inputTxt.blur();
};
仕様書
Specification |
---|
Web Speech API # dom-speechsynthesisutterance-voice |
ブラウザーの互換性
BCD tables only load in the browser