diff options
| author | Charles Chen <clchen@google.com> | 2009-06-29 15:52:47 -0700 | 
|---|---|---|
| committer | Charles Chen <clchen@google.com> | 2009-06-29 16:25:58 -0700 | 
| commit | 5c22f516be7753859f62ca3ff5327c453ee26faa (patch) | |
| tree | 022b9be488a8e66c67d340d0113dbd2105134e71 /core/java/android/speech | |
| parent | 3a608f829b54a7653c9cc2b3bdbda0641cca37bb (diff) | |
| download | frameworks_base-5c22f516be7753859f62ca3ff5327c453ee26faa.zip frameworks_base-5c22f516be7753859f62ca3ff5327c453ee26faa.tar.gz frameworks_base-5c22f516be7753859f62ca3ff5327c453ee26faa.tar.bz2 | |
Adding status return codes for TTS calls.
Diffstat (limited to 'core/java/android/speech')
| -rwxr-xr-x | core/java/android/speech/tts/TextToSpeech.java | 126 | 
1 files changed, 93 insertions, 33 deletions
| diff --git a/core/java/android/speech/tts/TextToSpeech.java b/core/java/android/speech/tts/TextToSpeech.java index 8fa06fa..f3b8963 100755 --- a/core/java/android/speech/tts/TextToSpeech.java +++ b/core/java/android/speech/tts/TextToSpeech.java @@ -251,14 +251,17 @@ public class TextToSpeech {       *       * @param resourceId       *            Example: <b><code>R.raw.south_south_east</code></b> +     * +     * @return Code indicating success or failure. See TTS_ERROR and TTS_SUCCESS.       */ -    public void addSpeech(String text, String packagename, int resourceId) { +    public int addSpeech(String text, String packagename, int resourceId) {          synchronized(mStartLock) {              if (!mStarted) { -                return; +                return TTS_ERROR;              }              try {                  mITts.addSpeech(text, packagename, resourceId); +                return TTS_SUCCESS;              } catch (RemoteException e) {                  // TTS died; restart it.                  mStarted = false; @@ -272,6 +275,7 @@ public class TextToSpeech {                  mStarted = false;                  initTts();              } +            return TTS_ERROR;          }      } @@ -285,14 +289,17 @@ public class TextToSpeech {       * @param filename       *            The full path to the sound file (for example:       *            "/sdcard/mysounds/hello.wav") +     * +     * @return Code indicating success or failure. See TTS_ERROR and TTS_SUCCESS.       */ -    public void addSpeech(String text, String filename) { +    public int addSpeech(String text, String filename) {          synchronized (mStartLock) {              if (!mStarted) { -                return; +                return TTS_ERROR;              }              try {                  mITts.addSpeechFile(text, filename); +                return TTS_SUCCESS;              } catch (RemoteException e) {                  // TTS died; restart it.                  mStarted = false; @@ -306,6 +313,7 @@ public class TextToSpeech {                  mStarted = false;                  initTts();              } +            return TTS_ERROR;          }      } @@ -324,17 +332,20 @@ public class TextToSpeech {       *            See TTS_QUEUE_ADD and TTS_QUEUE_FLUSH.       * @param params       *            The hashmap of speech parameters to be used. +     * +     * @return Code indicating success or failure. See TTS_ERROR and TTS_SUCCESS.       */ -    public void speak(String text, int queueMode, HashMap<String,String> params) +    public int speak(String text, int queueMode, HashMap<String,String> params)      {          synchronized (mStartLock) {              Log.i("TTS received: ", text);              if (!mStarted) { -                return; +                return TTS_ERROR;              }              try {                  // TODO support extra parameters, passing cache of current parameters for the moment                  mITts.speak(text, queueMode, mCachedParams); +                return TTS_SUCCESS;              } catch (RemoteException e) {                  // TTS died; restart it.                  mStarted = false; @@ -348,6 +359,7 @@ public class TextToSpeech {                  mStarted = false;                  initTts();              } +            return TTS_ERROR;          }      } @@ -366,17 +378,22 @@ public class TextToSpeech {       *            See TTS_QUEUE_ADD and TTS_QUEUE_FLUSH.       * @param params       *            The hashmap of speech parameters to be used. +     * +     * @return Code indicating success or failure. See TTS_ERROR and TTS_SUCCESS. +     * +     * {@hide}       */ -    public void speakIpa(String ipaText, int queueMode, HashMap<String,String> params) +    public int speakIpa(String ipaText, int queueMode, HashMap<String,String> params)      {          synchronized (mStartLock) {              Log.i("TTS received: ", ipaText);              if (!mStarted) { -                return; +                return TTS_ERROR;              }              try {                  // TODO support extra parameters, passing cache of current parameters for the moment                  mITts.speakIpa(ipaText, queueMode, mCachedParams); +                return TTS_SUCCESS;              } catch (RemoteException e) {                  // TTS died; restart it.                  mStarted = false; @@ -390,6 +407,7 @@ public class TextToSpeech {                  mStarted = false;                  initTts();              } +            return TTS_ERROR;          }      } @@ -403,16 +421,19 @@ public class TextToSpeech {       *            See TTS_QUEUE_ADD and TTS_QUEUE_FLUSH.       * @param params       *            The hashmap of parameters to be used. +     * +     * @return Code indicating success or failure. See TTS_ERROR and TTS_SUCCESS.       */ -    public void playEarcon(String earcon, int queueMode, +    public int playEarcon(String earcon, int queueMode,              HashMap<String,String> params) {          synchronized (mStartLock) {              if (!mStarted) { -                return; +                return TTS_ERROR;              }              try {                  // TODO support extra parameters, passing null for the moment                  mITts.playEarcon(earcon, queueMode, null); +                return TTS_SUCCESS;              } catch (RemoteException e) {                  // TTS died; restart it.                  mStarted = false; @@ -426,18 +447,30 @@ public class TextToSpeech {                  mStarted = false;                  initTts();              } +            return TTS_ERROR;          }      } - -    public void playSilence(long durationInMs, int queueMode) { +    /** +     * Plays silence for the specified amount of time using the specified +     * queue mode. +     * +     * @param durationInMs +     *            A long that indicates how long the silence should last. +     * @param queueMode +     *            See TTS_QUEUE_ADD and TTS_QUEUE_FLUSH. +     * +     * @return Code indicating success or failure. See TTS_ERROR and TTS_SUCCESS. +     */ +    public int playSilence(long durationInMs, int queueMode) {          synchronized (mStartLock) {              if (!mStarted) { -                return; +                return TTS_ERROR;              }              try {                  // TODO support extra parameters, passing cache of current parameters for the moment                  mITts.playSilence(durationInMs, queueMode, mCachedParams); +                return TTS_SUCCESS;              } catch (RemoteException e) {                  // TTS died; restart it.                  mStarted = false; @@ -451,6 +484,7 @@ public class TextToSpeech {                  mStarted = false;                  initTts();              } +            return TTS_ERROR;          }      } @@ -487,14 +521,17 @@ public class TextToSpeech {      /**       * Stops speech from the TTS. +     * +     * @return Code indicating success or failure. See TTS_ERROR and TTS_SUCCESS.       */ -    public void stop() { +    public int stop() {          synchronized (mStartLock) {              if (!mStarted) { -                return; +                return TTS_ERROR;              }              try {                  mITts.stop(); +                return TTS_SUCCESS;              } catch (RemoteException e) {                  // TTS died; restart it.                  mStarted = false; @@ -508,6 +545,7 @@ public class TextToSpeech {                  mStarted = false;                  initTts();              } +            return TTS_ERROR;          }      } @@ -524,23 +562,27 @@ public class TextToSpeech {       *            The speech rate for the TTS engine. 1 is the normal speed,       *            lower values slow down the speech (0.5 is half the normal speech rate),       *            greater values accelerate it (2 is twice the normal speech rate). +     * +     * @return Code indicating success or failure. See TTS_ERROR and TTS_SUCCESS.       */ -    public void setSpeechRate(float speechRate) { +    public int setSpeechRate(float speechRate) {          synchronized (mStartLock) {              if (!mStarted) { -                return; +                return TTS_SUCCESS;              }              try {                  if (speechRate > 0) {                      mCachedRate = (int)(speechRate*100);                      updateCachedParamArray();                      mITts.setSpeechRate(mCachedRate); +                    return TTS_SUCCESS;                  }              } catch (RemoteException e) {                  // TTS died; restart it.                  mStarted = false;                  initTts();              } +            return TTS_ERROR;          }      } @@ -557,21 +599,25 @@ public class TextToSpeech {       *            The pitch for the TTS engine. 1 is the normal pitch,       *            lower values lower the tone of the synthesized voice,       *            greater values increase it. +     * +     * @return Code indicating success or failure. See TTS_ERROR and TTS_SUCCESS.       */ -    public void setPitch(float pitch) { +    public int setPitch(float pitch) {          synchronized (mStartLock) {              if (!mStarted) { -                return; +                return TTS_ERROR;              }              try {                  if (pitch > 0) {                      mITts.setPitch((int)(pitch*100)); +                    return TTS_SUCCESS;                  }              } catch (RemoteException e) {                  // TTS died; restart it.                  mStarted = false;                  initTts();              } +            return TTS_ERROR;          }      } @@ -585,11 +631,13 @@ public class TextToSpeech {       *       * @param loc       *            The locale describing the language to be used. +     * +     * @return Code indicating success or failure. See TTS_ERROR and TTS_SUCCESS.       */ -    public void setLanguage(Locale loc) { +    public int setLanguage(Locale loc) {          synchronized (mStartLock) {              if (!mStarted) { -                return; +                return TTS_ERROR;              }              try {                  mCachedLang = loc.getISO3Language(); @@ -597,21 +645,25 @@ public class TextToSpeech {                  mCachedVariant = loc.getVariant();                  updateCachedParamArray();                  mITts.setLanguage(mCachedLang, mCachedCountry, mCachedVariant); +                return TTS_SUCCESS;              } catch (RemoteException e) {                  // TTS died; restart it.                  mStarted = false;                  initTts();              } +            return TTS_ERROR;          }      } +      /**       * Checks if the specified language as represented by the locale is available.       *       * @param loc       *            The locale describing the language to be used. +     *       * @return one of TTS_LANG_NOT_SUPPORTED, TTS_LANG_MISSING_DATA, TTS_LANG_AVAILABLE, -               TTS_LANG_COUNTRY_AVAILABLE, TTS_LANG_COUNTRY_VAR_AVAILABLE. +     *         TTS_LANG_COUNTRY_AVAILABLE, TTS_LANG_COUNTRY_VAR_AVAILABLE.       */      public int isLanguageAvailable(Locale loc) {          //TODO: Implement isLanguageAvailable @@ -619,7 +671,6 @@ public class TextToSpeech {      } -      /**       * Synthesizes the given text to a file using the specified parameters.       * @@ -630,17 +681,20 @@ public class TextToSpeech {       * @param filename       *            The string that gives the full output filename; it should be       *            something like "/sdcard/myappsounds/mysound.wav". -     * @return A boolean that indicates if the synthesis succeeded +     * +     * @return Code indicating success or failure. See TTS_ERROR and TTS_SUCCESS.       */ -    public boolean synthesizeToFile(String text, HashMap<String,String> params, +    public int synthesizeToFile(String text, HashMap<String,String> params,              String filename) {          synchronized (mStartLock) {              if (!mStarted) { -                return false; +                return TTS_ERROR;              }              try {                  // TODO support extra parameters, passing null for the moment -                return mITts.synthesizeToFile(text, null, filename); +                if (mITts.synthesizeToFile(text, null, filename)){ +                    return TTS_SUCCESS; +                }              } catch (RemoteException e) {                  // TTS died; restart it.                  mStarted = false; @@ -654,10 +708,11 @@ public class TextToSpeech {                  mStarted = false;                  initTts();              } -            return false; +            return TTS_ERROR;          }      } +      /**       * Synthesizes the given IPA text to a file using the specified parameters.       * @@ -668,17 +723,22 @@ public class TextToSpeech {       * @param filename       *            The string that gives the full output filename; it should be       *            something like "/sdcard/myappsounds/mysound.wav". -     * @return A boolean that indicates if the synthesis succeeded +     * +     * @return Code indicating success or failure. See TTS_ERROR and TTS_SUCCESS. +     * +     * {@hide}       */ -    public boolean synthesizeIpaToFile(String ipaText, +    public int synthesizeIpaToFile(String ipaText,              HashMap<String,String> params, String filename) {          synchronized (mStartLock) {              if (!mStarted) { -                return false; +                return TTS_ERROR;              }              try {                  // TODO support extra parameters, passing null for the moment -                return mITts.synthesizeIpaToFile(ipaText, null, filename); +                if (mITts.synthesizeIpaToFile(ipaText, null, filename)){ +                    return TTS_SUCCESS; +                }              } catch (RemoteException e) {                  // TTS died; restart it.                  mStarted = false; @@ -692,7 +752,7 @@ public class TextToSpeech {                  mStarted = false;                  initTts();              } -            return false; +            return TTS_ERROR;          }      } | 
