Здравствуйте!
Я создал объект explanation
var synth = window.speechSynthesis;
var explanation = {
phrase: "Where can I buy stamps and envelopes?"
,translation: "Где я могу купить марки и конверты?"
,phraseAudio: {
audioUtterance: new SpeechSynthesisUtterance(this.phrase)
,utteranceLang: "en-US"
}
};
Он состоит из:
фразы (phrase)
перевода (translation)
некоторого функционала, чтобы произнести фразу на англ.
Чтобы речевой движок произнес фразу, в его метод .speak нужно передать экземпляр объекта SpeechSynthesisUtterance
window.speechSynthesis.speak(new SpeechSynthesisUtterance("Hello"))
window.speechSynthesis.speak(new SpeechSynthesisUtterance("Привет"))
В explanation => phraseAudio => audioUtterance я как раз и пытаюсь поместить экземпляр объекта SpeechSynthesisUtterance. Параметром должна быть передана строка explanation => phrase
Я пишу
audioUtterance: new SpeechSynthesisUtterance(this.phrase)
Если ввести в консоль команду explanation.phraseAudio.audioUtterance
то возвращается объект SpeechSynthesisUtterance, но без параметра text (которым должна быть строка this.phrase)
Скорее всего дело в том, что когда я пишу внутри explanation => phraseAudio => audioUtterance (this.phrase), он ищет свойство phrase внутри phraseAudio, а не внутри explanation.
Как сделать, чтобы получить свойство не вложенного текущего объекта, а первоначального?