- From: Olli Pettay <Olli.Pettay@helsinki.fi>
- Date: Fri, 17 Aug 2012 20:21:03 +0300
- To: Dominic Mazzoni <dmazzoni@google.com>
- CC: public-speech-api@w3.org
On 08/17/2012 07:36 PM, Dominic Mazzoni wrote:
> On Wed, Aug 15, 2012 at 2:26 PM, Olli Pettay <Olli.Pettay@helsinki.fi> wrote:
>> The API feels quite odd, the static part of it.
>> Normally one would just have interface SpeechSynthesis and let
>> window object to have getter to such object.
>> Then one could use speechSynthesis.speak("hello world");
>
> If there's just a global method speak, how would you propose to pass
> additional arguments? To allow for future expansion, we need an
> Utterance object to capture all of the information about an utterance
> to be spoken.
Oh, sorry, I didn't mean speak(string), but speak(take_whatever_params_you_suggested).
It was just those static methods which feel really odd, and unnecessary.
>
> An alternative would be to pass everything directly, for example:
>
> ALTERNATIVE 2: speechSynthesis.speak({text: "hello world", lang: 'en-US', ...});
>
> Do you prefer that alternative?
>
>> Also, why createUtterance. Why not
>> var utterance = new SpeechSynthesisUtterance({ text: "hello world"});
>
> That works for me. I still think there should be a separate synthesis
> and utterance object, but otherwise that sounds good. How about this?
>
> Ex 1:
> speechSynthesis.speak(SpeechSynthesisUtterance('Hello World'));
>
> Ex 2:
> var u = new SpeechSynthesisUtterance();
> u.text = 'Hello World';
> u.lang = 'en-US';
> u.onend = function() { alert('Finished!'); }
> speechSynthesis.speak(u);
>
> interface SpeechSynthesis {
> static readonly attribute boolean pending;
> static readonly attribute boolean speaking;
> static readonly attribute boolean paused;
>
> static void speak(SpeechSynthesisUtterance utterance);
> static void cancel(SpeechSynthesisUtterance utterance);
> static void pause();
> static void continue();
> static void stopAndFlushQueue();
> }
>
> [Constructor,
> Constructor(DOMString text)]
> interface SpeechSynthesisUtterance {
> attribute DOMString text;
> attribute DOMString lang;
> attribute DOMString serviceURI;
>
> readonly attribute boolean speaking;
> readonly attribute boolean paused;
> readonly attribute boolean ended;
>
> attribute Function onstart;
> attribute Function onend;
> }
>
Received on Friday, 17 August 2012 17:21:34 UTC