Zur Navigation

Text in Deutsch vorlesen [3]

22 Jörg Kruse

    speech.text = replaceUmlaute(tts.innerText);
    speech.text = tts.innerText;

Du überschreibst den ersetzten Text gleich wieder durch den Originaltext. Die zweite Zeile solltest du da rausnehmen.

Ich würde dann auch mit kleinen Schritten testen, d.h. erst mit einem kleinen Text mit Umlaut (z.B. "Dies ist eine Übung!"). Und wenn das funktioniert, diesen erweitern. Es ist ja nicht ausgeschlossen, dass die Speech Synthesis API mit weiteren Buchstaben oder auch mit der Länge des Textes Problem hat.

Aber wieso funktioniert das vorlesen dann mit dem anderen Beispiel?
Also das Beispiel, dass keine Pause-Schaltfläche hat?

Weil vermutlich da die responsivevoice.js die entsprechende Vorarbeit leistet. Diese enthält auch etliche Funktionsaufrufe von replace().

08.07.2021 11:26

23 Tim (Gast)

vielen Dank Jörg für deine Hilfe!

Habe das ganze ausprobiert, aber das austauschen der Umlaute funktioniert nicht und das vorlesen funktioniert nur so weit, bis das erste Wort mit einem Umlaut kommt.
Denke, das macht so keinen Sinn und das ganze braucht man nicht weiterzuverfolgen.
Finde ich super nett von dir, dass du mir so sehr geholfen hast!
Vielen vielen Dank dafür!

Eine letzte Frage habe ich noch:
das erste Beispiel funktioniert auf einem Computer auch mit einem sehr sehr langen Text.
Auf einem Smartphone jedoch nicht.
Was ist deiner Meinung nach der Grund dafür?

09.07.2021 10:16

24 Jörg Kruse

Woran das liegen kann, weiß ich auch nicht. Die Suche nach '"Web Speech api" mobile not working' listet aber einige Seiten auf, die Probleme mit der API auf Smartphones thematisieren.

09.07.2021 10:50 | geändert: 09.07.2021 10:51

25 Tim (Gast)

danke Jörg, für deine Antwort.

Und nochmals vielen Dank für deine Hilfe und deine Bemühungen!
Super nett von dir!

11.07.2021 13:54

Beitrag schreiben (als Gast)

Die Antwort wird nach der Überprüfung durch einen Moderator freigeschaltet.





[BBCode-Hilfe]