1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117
|
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
/**
* @fileoverview Defines a Tts interface.
*
* All TTS engines in ChromeVox conform to the this interface.
*
*/
goog.provide('cvox.QueueMode');
goog.provide('cvox.TtsCapturingEventListener');
goog.provide('cvox.TtsCategory');
goog.provide('cvox.TtsInterface');
/**
* Categories for a speech utterance. This can be used with the
* CATEGORY_FLUSH queue mode, which flushes all utterances from a given
* category but not other utterances.
*
* NAV: speech related to explicit navigation, or focus changing.
* LIVE: speech coming from changes to live regions.
*
* @enum {string}
*/
cvox.TtsCategory = {
LIVE: 'live',
NAV: 'nav'
};
/**
* Queue modes for calls to {@code cvox.TtsInterface.speak}.
* @enum
*/
cvox.QueueMode = {
/** Stop speech, clear everything, then speak this utterance. */
FLUSH: 0,
/** Append this utterance to the end of the queue. */
QUEUE: 1,
/**
* Clear any utterances of the same category (as set by
* properties['category']) from the queue, then enqueue this utterance.
*/
CATEGORY_FLUSH: 2
};
/**
* @interface
* An interface for clients who want to get notified when an utterance
* starts or ends from any source.
*/
cvox.TtsCapturingEventListener = function() { };
/**
* Called when any utterance starts.
*/
cvox.TtsCapturingEventListener.prototype.onTtsStart = function() { };
/**
* Called when any utterance ends.
*/
cvox.TtsCapturingEventListener.prototype.onTtsEnd = function() { };
/**
* @interface
*/
cvox.TtsInterface = function() { };
/**
* Speaks the given string using the specified queueMode and properties.
* @param {string} textString The string of text to be spoken.
* @param {cvox.QueueMode} queueMode The queue mode to use for speaking.
* @param {Object=} properties Speech properties to use for this utterance.
* @return {cvox.TtsInterface} A tts object useful for chaining speak calls.
*/
cvox.TtsInterface.prototype.speak =
function(textString, queueMode, properties) { };
/**
* Returns true if the TTS is currently speaking.
* @return {boolean} True if the TTS is speaking.
*/
cvox.TtsInterface.prototype.isSpeaking = function() { };
/**
* Stops speech.
*/
cvox.TtsInterface.prototype.stop = function() { };
/**
* Adds a listener to get called whenever any utterance starts or ends.
* @param {cvox.TtsCapturingEventListener} listener Listener to get called.
*/
cvox.TtsInterface.prototype.addCapturingEventListener = function(listener) { };
/**
* Increases a TTS speech property.
* @param {string} propertyName The name of the property to change.
* @param {boolean} increase If true, increases the property value by one
* step size, otherwise decreases.
*/
cvox.TtsInterface.prototype.increaseOrDecreaseProperty =
function(propertyName, increase) { };
/**
* Returns the default properties of the first tts that has default properties.
* @param {string} property Name of property.
* @return {?number} The default value.
*/
cvox.TtsInterface.prototype.getDefaultProperty = function(property) { };
|