From 9fdd8df6700b981f1cb8290a3f0fa53f96305e79 Mon Sep 17 00:00:00 2001 From: Aferdita Muriqi Date: Thu, 11 Aug 2022 13:17:24 -0400 Subject: [PATCH] fixes start index of text nodes when there is more than one text node --- src/modules/TTS/TTSModule2.ts | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/modules/TTS/TTSModule2.ts b/src/modules/TTS/TTSModule2.ts index 9c394da5..087fb7bd 100644 --- a/src/modules/TTS/TTSModule2.ts +++ b/src/modules/TTS/TTSModule2.ts @@ -330,6 +330,27 @@ export class TTSModule2 implements ReaderModule { } utterance = new SpeechSynthesisUtterance(textToBeSpoken); + log.log(selectionInfo); + log.log( + textToBeSpoken, + selectionInfo.range?.commonAncestorContainer.textContent + ); + log.log(ttsQueueItem); + log.log(ttsQueueItem.item.textNodes); + log.log(startIndex); + for (let i = 0; i < ttsQueueItem.item.textNodes.length; i++) { + let node: any = ttsQueueItem.item.textNodes[i]; + if (node === selectionInfo.range?.commonAncestorContainer) { + break; + } + log.log(node.length); + startIndex += node.length; + } + let node = ttsQueueItem.item.textNodes.filter((node) => { + return node === selectionInfo.range?.commonAncestorContainer; + })[0]; + log.log(node); + utterance.onboundary = (ev: SpeechSynthesisEvent) => { this.updateTTSInfo( ttsQueueItem,