Javascript Gear S4 Web应用程序在语音合成方面不断崩溃

Javascript Gear S4 Web应用程序在语音合成方面不断崩溃,javascript,tizen,speech-synthesis,Javascript,Tizen,Speech Synthesis,每次调用“window.speechSynthesis.speak(msg);”代码行时,web应用程序都会崩溃 为了确保不是我的代码的其他部分导致它崩溃,我试着对它进行注释,应用程序将毫无问题地运行 奇怪的是,“speak”将成功执行并说出完整的句子,即使程序崩溃,我返回到主屏幕 function Speak(){ var msg = new SpeechSynthesisUtterance(); var voices = window.speechSynthesis.getVoices();

每次调用“window.speechSynthesis.speak(msg);”代码行时,web应用程序都会崩溃

为了确保不是我的代码的其他部分导致它崩溃,我试着对它进行注释,应用程序将毫无问题地运行

奇怪的是,“speak”将成功执行并说出完整的句子,即使程序崩溃,我返回到主屏幕

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演讲,我将不胜感激,谢谢

我曾尝试运行webapp,它的代码与您上面描述的完全相同。 不幸的是,我无法观察到你提到的问题。 (没有发生碰撞,无论何时通话,tts都能正常工作。)

为了进行更多检查,可以让我知道您正在使用的软件环境吗?
您可以通过设置->关于手表->软件->(软件版本和Tizen版本)

获得所需的信息。我曾尝试运行webapp,其代码与您上面描述的完全相同。 不幸的是,我无法观察到你提到的问题。 (没有发生碰撞,无论何时通话,tts都能正常工作。)

为了进行更多检查,可以让我知道您正在使用的软件环境吗?
您可以通过设置->关于手表->软件->(软件版本和Tizen版本)

获得所需信息。我在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);
    });
};

我在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);
    });
};

嘿,谢谢你看这个:)。。。我在跑步;Tizen版本:4.0.0.1软件版本:R805FXXU1DSBA不总是这样,但有时我会添加变量,就像。。。。var state=“enabled”VoiceText=“当前运行状态为”+状态;令人恼火的是,在第一次调用时,它将崩溃5次中的4次,但在对“Speak()”函数的几次调用中,它将在没有任何问题的情况下运行5次,然后在调用Speak()函数2-3次后再次崩溃应用程序。。。请告诉我你的进展如何?:)嘿,谢谢你看这个:)。。。我在跑步;Tizen版本:4.0.0.1软件版本:R805FXXU1DSBA不总是这样,但有时我会添加变量,就像。。。。var state=“enabled”VoiceText=“当前运行状态为”+状态;令人恼火的是,在第一次调用时,它将崩溃5次中的4次,但在对“Speak()”函数的几次调用中,它将在没有任何问题的情况下运行5次,然后在调用Speak()函数2-3次后再次崩溃应用程序。。。请告诉我你的进展如何?:)