// Contournement du bug qui limite la lecture de chaîne supérieure à 300 caractères.
|
var Phrases = LibelleElmt.split("."); // On découpe la chaîne en phrases que l'on stocke dans le tableau "Phrases"
|
var sPhrase = "";
|
for (var i = 0; i < Phrases.length; i++) { // Pour chaque phrase, on lance la lecture
|
sPhrase = Phrases[i]; // On sélectionne la phrase de l'indice en cours dans le tableau "Phrases"
|
|
oEnonciation = new SpeechSynthesisUtterance(sPhrase); // On prépare l'énonciation de texte
|
|
switch (document.documentElement.lang)
|
{
|
// Si la page est en français, alors on fait une énonciation en français
|
case "fr":
|
oEnonciation.voice = oVoices[7]; // On prend la voix française pour l'énonciation
|
oEnonciation.lang = "fr-FR"; // Enonciation en français
|
break;
|
default:
|
// Sinon, si la page est en anglais (en entête HTML), mais que la page est affichée en français
|
if(document.URL.indexOf(".fr/") > 1 || document.URL.indexOf(".fr") > 1)
|
{
|
oEnonciation.voice = oVoices[7]; // On prend la voix française pour l'énonciation
|
oEnonciation.lang = "fr-FR"; // Enonciation en français
|
break;
|
}
|
else
|
{
|
oEnonciation.voice = oVoices[4]; // On prend la voix anglaise pour l'énonciation
|
oEnonciation.lang = "en-GB"; // Enonciation en anglais
|
break;
|
}
|
}
|
|
oEnonciation.volume = 1; // Volume de l'énonciation
|
oEnonciation.rate = 0.8; // Vitesse de l'énonciation ==> Defaut = 1, lent < 1 < Rapide
|
oEnonciation.pitch = 0.8; // Ton de l'énonciation ==> Defaut = 1, Grave < 1 < Aigu
|
|
window.speechSynthesis.speak(oEnonciation); // Déclenchement de l'énonciation
|
}
|