Приложение Gear S4 Web продолжает сбой при синтезе речи - PullRequest
0 голосов
/ 21 мая 2019

Каждый раз строка кода "window.speechSynthesis.speak (msg);" это вызов веб-приложения будет сбой

Чтобы убедиться, что другие части моего кода не вызывают его сбой, я попытался закомментировать его, и приложение будет работать без проблем.

Странная часть заключается в том, что "речь" будет успешно выполнена и произнесет полное предложение, даже если программа потерпела крах, и я вернулся на главный экран

function Speak(){
var msg = new SpeechSynthesisUtterance();
var voices = window.speechSynthesis.getVoices();
msg.voice = voices[1];
msg.lang = 'en-US';
msg.rate = 1;
msg.text = VoiceText;
window.speechSynthesis.speak(msg);
}

Я бы назвал вышеуказанную функцию как;

VoiceText = "Hello World";
Speak();

Я заметил, что иногда после сбоя, когда приложение перезапускается, оно будет говорить несколько раз без проблем, прежде чем снова произойдет сбой

если кто-то знает, что может быть причиной проблемы, или другую текстовую речь на стороне клиента, которую он может порекомендовать, я был бы благодарен, спасибо

Ответы [ 2 ]

1 голос
/ 05 июня 2019

Я проверил ваш код на эмуляторе Galaxy Watch и Tizen Studio следующим образом.но я не смог найти ни одной аварии.Не могли бы вы поделиться своим исходным кодом более подробно, чтобы воспроизвести эту проблему на моей стороне?Я могу разобраться в проблеме дальше.

function Speak(VoiceText) {
    var msg = new SpeechSynthesisUtterance();
    var voices = window.speechSynthesis.getVoices();
    msg.voice = voices[1];
    msg.lang = 'en-US';
    msg.rate = 1;
    msg.text = VoiceText;
    window.speechSynthesis.speak(msg);
}

window.onload = function() {
    document.addEventListener('tizenhwkey', function(e) {
        if (e.keyName == "back")
            try {
                tizen.application.getCurrentApplication().exit();
            } catch (ignore) {
            }
    });

    // Sample code
    var textbox = document.querySelector('.contents');
    textbox.addEventListener("click", function() {
        box = document.querySelector('#textbox');
        box.innerHTML = box.innerHTML == "enabled" ? "disabled" : "enabled";
        Speak("Current Running State is " + box.innerHTML);
    });
};
1 голос
/ 24 мая 2019

Я пытался запустить веб-приложение, которое имеет точно такой же код, который вы описали выше. К сожалению, я не смог наблюдать за упомянутой вами проблемой. (не было сбоев, и tts работал хорошо, когда звонил Спик.)

Для дополнительной проверки, дайте мне знать, какую среду SW вы используете? Вы можете получить необходимую информацию из настроек -> О часах -> Программное обеспечение -> (Версия программного обеспечения и версия Tizen)

...