Replying to:

@dotproto.com Alas, there's (apparently) no way to do this reliably, since canceling the queue just aborts everything. You can try to keep track of what has been said by checking the charIndex property of an utterancye's boundary event, but the underlying speech synthesis engine may not emit those events

Simeon Vincent @dotproto