- From: Glen Shires <gshires@google.com>
- Date: Sun, 14 Oct 2012 11:21:31 -0700
- To: public-speech-api@w3.org
- Message-ID: <CAEE5bci=g3h6qpBLmoeqBRjZJBHXCORB3zfSu4QBa9Nsq6hCVQ@mail.gmail.com>
Also, there's a syntax error in the first line of Speech Synthesis Example 2. (The Example section is non-normative.) SpeechSynthesisUtterance u; should be var u = new SpeechSynthesisUtterance(); If no disagreement, I'll update the spec on Tuesday with this. Glen Shires On Sat, Oct 13, 2012 at 8:31 PM, Glen Shires <gshires@google.com> wrote: > OK, if no disagreement, I'll update the spec on Tuesday to remove "static" > from all elements in interface SpeechSynthesis. > > Glen Shires > > > On Sat, Oct 13, 2012 at 5:35 PM, Olli Pettay <Olli.Pettay@helsinki.fi>wrote: > >> On 10/14/2012 01:27 AM, Glen Shires wrote: >> >>> I agree. >>> >>> Also, is there any reason not to remove "static" from the following? If >>> not, I propose removing it here too. >>> >>> static readonly attribute boolean pending; >>> static readonly attribute boolean speaking; >>> static readonly attribute boolean paused; >>> >>> static SpeechSynthesisVoiceList getVoices(); >>> >>> >> Right. I'd be surprised if anything needs to be 'static' >> >> >> >> Glen Shires >>> >>> >>> On Sat, Oct 13, 2012 at 7:56 AM, Olli Pettay <Olli.Pettay@helsinki.fi<mailto: >>> Olli.Pettay@helsinki.**fi <Olli.Pettay@helsinki.fi>>> wrote: >>> >>> static void speak(SpeechSynthesisUtterance utterance); >>> static void cancel(); >>> static void pause(); >>> static void resume(); >>> >>> Those shouldn't be static. >>> >>> >>> >>> >>> >>> >>> On 10/12/2012 01:42 PM, Olli Pettay wrote: >>> >>> On 10/12/2012 04:41 AM, Glen Shires wrote: >>> >>> I propose the following change to the SpeechSynthesis IDL to >>> use a callback instead of events. It doesn't change functionality, but does >>> make the IDL >>> more well-defined and conventional. (The current IDL breaks >>> platform conventions, because the speak() method makes a copy of utterance, >>> and thus >>> event.target cannot be properly defined, nor can >>> addEventListener be used in the conventional manner.) The >>> SpeechSynthesisEvent object is >>> renamed SpeechSynthesisUpdate (because it is no longer an >>> event, but rather a callback). If there's no disagreement, I'll update the >>> spec >>> with this >>> on Monday. >>> >>> callback SpeechSynthesisCallback = void >>> (SpeechSynthesisUpdate update); >>> >>> interface SpeechSynthesis { >>> ... >>> static void speak(SpeechSynthesisUtterance >>> utterance, SpeechSynthesisCallback callback); >>> }; >>> >>> interface SpeechSynthesisUpdate { >>> enum UpdateType { >>> "start", >>> "end", >>> "pause", >>> "resume", >>> "mark", >>> "boundary", >>> "error" >>> }; >>> readonly attribute UpdateType type; >>> readonly attribute unsigned long charIndex; >>> readonly attribute float elapsedTime; >>> readonly attribute DOMString name; >>> }; >>> >>> /Glen Shires >>> >>> >>> Looks odd to me. >>> >>> Shouldn't it be >>> interface SpeechSynthesis : EventTarget >>> { >>> void speak(SpeechSynthesisUtterance utterance); >>> EventHandler onspeak; >>> } >>> >>> That way one doesn't need to pass callback to the speak method >>> all the time. >>> Just registering once is enough. >>> >>> >>> >>> >>> -Olli >>> >>> >>> >>> >> >
Received on Sunday, 14 October 2012 18:22:41 UTC