function EstimateSpokenWordIndex(const Words: TPdfWordBoxes; ElapsedMs: Cardinal; WordsPerMinute: Integer): Integer;
| Words | TPdfWordBoxes - Words in the chunk currently being spoken |
| ElapsedMs | Cardinal - Milliseconds elapsed since the current chunk started speaking |
| WordsPerMinute | Integer - Estimated speech rate, or 0 to use the default 175 WPM |
-1 khi phạm vi rỗng hoặc lịch ước lượng đã kết thúcThe helper budgets the whole range as one word per 60000 / WordsPerMinute milliseconds
Each word receives a share of that budget proportional to its text length plus a small inter-word pause weight
TPdfReadingSession.Tick uses this helper when EstimatePacing is enabledWordIndex := EstimateSpokenWordIndex(Words, ElapsedMs, 175);
if WordIndex >= 0 then
PdfView1.SetReadingWord(Words[WordIndex]);