Upload files to "www/html/_assets/js"

This commit is contained in:
Steve L. Nyemba 2025-03-19 20:40:30 +00:00
parent ade7616f63
commit 0f35feeeec
1 changed files with 93 additions and 0 deletions

View File

@ -0,0 +1,93 @@
var Assistant = {}
Assistant.speak = function(text, chunkSize = 200) {
if ('speechSynthesis' in window) {
const speechSynthesis = window.speechSynthesis;
const chunks = [];
for (let i = 0; i < text.length; i += chunkSize) {
chunks.push(text.slice(i, i + chunkSize));
}
function speakNextChunk(index) {
if (index < chunks.length) {
const utterance = new SpeechSynthesisUtterance(chunks[index]);
utterance.onend = () => speakNextChunk(index + 1); // Speak the next chunk when the current one finishes.
window.speechSynthesis.cancel()
speechSynthesis.speak(utterance);
}
}
speakNextChunk(0); // Start with the first chunk.
} else {
console.error('Speech synthesis is not supported in this browser.');
}
}
// var Assistant = function (){
// this._message = null
// this._message = new SpeechSynthesisUtterance()
// // this._voices = window.speechSynthesis.getVoices();
// // var r = []
// // this._voices.forEach(function(_item){
// // if(_item.lang.match(/us|br|gb/i)){
// // r.push(_item)
// // }
// // })
// // this._voices = r
// this.speak = function(text,times){
// var _message = null;
// if (window.speechSynthesis) {
// var _message = new SpeechSynthesisUtterance()
// var voices = window.speechSynthesis.getVoices();
// var r = []
// voices.forEach(function(_item){
// if(_item.lang.match(/gb/i)){
// r.push(_item)
// }
// })
// voices = r
// }
// if ( _message != null) {
// _message.text = text
// // _message.voice = voices[0]
// _message.volume = 1
// _message.pitch = 1
// window.speechSynthesis.speak(_message)
// }
// }
// this._speak = function (text,times){
// // this._message = new SpeechSynthesisUtterance()
// // this._message.text = text
// // this._message.voice = this._voices[0]
// var _voices = [ ]
// window.speechSynthesis.getVoices().forEach(_item=>{
// if(_item.lang.match(/au|gb/i)){
// _voices.push(_item)
// }
// })
// var _message = new SpeechSynthesisUtterance()
// _message.text = text
// _message.voiceURI = 'native'
// // alert(_message.voiceURI)
// // _message.volume = 1
// window.speechSynthesis.cancel()
// if (times != null){
// times = parseInt(times)
// // var _message = this._message
// var _index = 0
// var _iHandler = setInterval(function(){
// window.speechSynthesis.speak(_message)
// _index += 1
// if (_index == times){
// clearInterval(_iHandler)
// }
// },2500,times)
// }else{
// window.speechSynthesis.speak(_message)
// }
// }
// }