Upload files to "www/html/_assets/js"
This commit is contained in:
parent
ade7616f63
commit
0f35feeeec
|
@ -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)
|
||||||
|
// }
|
||||||
|
|
||||||
|
// }
|
||||||
|
|
||||||
|
// }
|
Loading…
Reference in New Issue