• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Frage zu Speech Synthesis API

Toxuas

New member
Moin, habe ein Problem mit der SpeechSynthesis API.
Ich möchte meine SpeechSynthesisUtterance Queue per window.SpeechSynthesis.cancel() löschen, und danach wieder eine neue SpeechSynthesis in die Queue hinzufügen.
Allerdings funktioniert scheint die window.SpeechSynthesis.cancel() Methode entweder alle SpeechUtterances danach zu überspringen oder es ist danach nicht mehr möglich SpeechUtterances hinzuzufügen.

Folgender Beispielcode
HTML:
var test = new SpeechSynthesisUtterance("Test");
window.speechSynthesis.speak(test);  
window.speechSynthesis.cancel();
var test2 = new SpeechSynthesisUtterance("Test2");
window.speechSynthesis.speak(test2);

Was ich erwartet habe, ist das die erste SpeechSynthesisUtterance test startet sofort abgebrochen wird aufgrund des Aufrufes von window.speechSynthesis.cancel().Nun hätte mMn die SpeechSynthesisUtterance test2 ausgegeben werden, dies ist allerdings nicht der Fall.

Kann mir jemand helfen, oder hat Erfahrungen mit der SpeechSynthesis ?

Vielen Dank im Vorraus
 
Wo hast du das denn getestet? Im Chrome scheint das ganze ziemlich buggy zu sein: cancel scheint sowas wie pause zu machen und pause braucht zwei resume's um aufgehoben zu werden...
 
@toxuas ist die Frage nur aus Interesse?
oder würde dir auch eine Notlösung dienen?

ich hab dein Script im Chrome getestet.
Und der Chrome spricht mit mir alles
wenn ich den Teil mit dem cancel auskommentiere.

Ein Kleiner Lichtblick ist allerdings
wenn du gleich nach dem cancel ein alert einfügst und bestätigst funkt es
aber das ist nicht mal eine Notlösung, das ist schon Bug-Verdächtig


HTML:
var test = new SpeechSynthesisUtterance("Test");
window.speechSynthesis.speak(test);  
window.speechSynthesis.cancel();
 alert('jetzt gehts zu Test2');
var test2 = new SpeechSynthesisUtterance("Test2");
window.speechSynthesis.speak(test2);
 
Zuletzt bearbeitet von einem Moderator:
Guten Tag , das Problem besteht immer noch , allerdings funktioniert es komischerweise auf unserem Tablet, welches auch Chrome benutzt. Und da die ganze Applikation eigentlich für Tablets ausgerichtet ist, belassen wir es erstmal dabei. Fraglich ist natürlich ob es auf anderen Tablets funktioniert, aber das werden wir ja dann sehen. :D
Okay, das mit den beiden resume's ist ja schon mal ein guter Tipp, danke dafür.
Ansonsten scheint es wirklich ein Bug zu sein , der hoffentlich bald addressiert wird. :p
Ein weiteres massives Problem ist, das die aktualisierte Version der App Google Text-in-Sprache die Sprachausgabe anscheinend deaktiviert, sobald ich die App auf die Werksversion zurücksetzte , funktioniert alles.. Hat damit jemand Erfahrung und kann mir helfen?
Vielen Dank für eure Antworten
 
Zuletzt bearbeitet:
Hallo zusammen,

ich hänge meine Frage mal hier an, da ziemlich ähnlich.
Ich habe ein HTML5 Formular, bei dem beim Ereignis 'onload' eine Begrüßung statt findet, deren Inhalt von GPS-Daten und von Daten einer MySQL-Datenbank abhängt. Während die Seite angezeigt wird, werden noch weitere variable Sprachausgaben gemacht.
Habe die Sprachausgabe in eine eigene Funktion ausgelagert:

HTML:
 function sprachnachricht(nachricht) {
         msg = new SpeechSynthesisUtterance(nachricht);
         window.speechSynthesis.speak(msg);
         alert(nachricht) ;
    }

Das klappt meistens, aber manchmal scheint sich die Seite zu verschlucken und ab da klappt die Seite selbst zwar ganz normal, nur gibt's keine Sprachausgaben mehr. Es scheint nur der Neustart des Smartphones (Galaxy Note 3) zu helfen, dann klappt's ne Zeit lang wieder ganz normal.

Kann es vielleicht sein, dass der interne Speicher überläuft, wegen dem dauernden SpeechSynthesisUtterance(nachricht); ?

Der Rest des Smartphones ist davon übrigens unberührt. Es klappt alles, nur keine Sprachausgabe aus Internetseiten mehr.
 
Zuletzt bearbeitet von einem Moderator:
Zurück
Oben