SpeechSynthesis: phương thức getVoices()

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.

Phương thức getVoices() của giao diện SpeechSynthesis trả về một danh sách các đối tượng SpeechSynthesisVoice đại diện cho mọi voice có sẵn trên thiết bị hiện tại.

Cú pháp

js
getVoices()

Tham số

Không có.

Giá trị trả về

Một danh sách (mảng) các đối tượng SpeechSynthesisVoice.

Ví dụ

JavaScript

js
function populateVoiceList() {
  if (typeof speechSynthesis === "undefined") {
    return;
  }

  const voices = speechSynthesis.getVoices();

  for (const voice of voices) {
    const option = document.createElement("option");
    option.textContent = `${voice.name} (${voice.lang})`;

    if (voice.default) {
      option.textContent += " — DEFAULT";
    }

    option.setAttribute("data-lang", voice.lang);
    option.setAttribute("data-name", voice.name);
    document.getElementById("voiceSelect").appendChild(option);
  }
}

populateVoiceList();
if (
  typeof speechSynthesis !== "undefined" &&
  speechSynthesis.onvoiceschanged !== undefined
) {
  speechSynthesis.onvoiceschanged = populateVoiceList;
}

HTML

html
<select id="voiceSelect"></select>

Đặc tả kỹ thuật

Thông số kỹ thuật
Web Speech API
# dom-speechsynthesis-getvoices

Tính tương thích trên trình duyệt

Xem thêm