- From: Dominic Mazzoni <dmazzoni@google.com>
- Date: Tue, 11 Sep 2012 16:06:20 -0700
- To: Glen Shires <gshires@google.com>
- Cc: public-speech-api@w3.org
Sorry for being unclear. What I meant was to just extend the onstart and onend events already in the spec. - Dominic On Tue, Sep 11, 2012 at 2:48 PM, Glen Shires <gshires@google.com> wrote: > Is this preferable to: > > interface SpeechSynthesisUtterance { > ... > attribute Function onstart; > attribute Function onend; > > > On Tue, Sep 11, 2012 at 1:19 AM, Dominic Mazzoni <dmazzoni@google.com> > wrote: >> >> I propose adding a mechanism by which JavaScript clients can attach >> event listeners to an utterance to get notified when it starts >> speaking, when it finishes, and optionally with updates of the >> progress. >> >> Here's what could be added to the spec: >> >> callback SpeechSynthesisStartCallback = void(); >> callback SpeechSynthesisEndCallback = void(); >> callback SpeechSynthesisUpdateCallback = void(DOMString markerName, >> unsigned long charIndex, float elapsedTime); >> >> interface SpeechSynthesisUtterance { >> ... >> attribute SpeechSynthesisStartCallback onstart; >> attribute SpeechSynthesisEndCallback onend; >> attribute SpeechSynthesisUpdateCallback onupdate; >> } >> >> I propose that "onstart" and "onend" must be supported for an >> implementation to be fully compliant. There are too many applications >> that can't be implemented without these. >> >> I think "onupdate" should be optional because it depends on what's >> possible in the speech engine. If the speech engine provides >> word-level information, for example, then every time there's a break >> between works it'd call onupdate() with the character index (into the >> original utterance string) and the elapsed time since speech began. An >> engine might also notify when certain named "markers" (e.g. in SSML) >> are reached. >> >> Other ideas - in the Chrome TTS extension API I also implemented these >> events - what do you think? >> >> * Error >> * Cancelled (stopAndFlushQueue called before it ever started playing) >> * Interrupted (stop called while it was in the middle of speaking) >> >> - Dominic >> >
Received on Tuesday, 11 September 2012 23:06:47 UTC