diff options
| author | Charles Chen <clchen@google.com> | 2009-06-26 15:32:46 -0700 | 
|---|---|---|
| committer | Charles Chen <clchen@google.com> | 2009-06-26 15:56:10 -0700 | 
| commit | d4989093ed708ddf9c799655ea0af7afda726426 (patch) | |
| tree | f8bce2ac51ad019c287a811beddefff89f1a1f35 /core/java/android/speech | |
| parent | ec0cf8bc874f53cfc7256628f0ec56657ac92073 (diff) | |
| download | frameworks_base-d4989093ed708ddf9c799655ea0af7afda726426.zip frameworks_base-d4989093ed708ddf9c799655ea0af7afda726426.tar.gz frameworks_base-d4989093ed708ddf9c799655ea0af7afda726426.tar.bz2 | |
Adding implementation of IPA to the TextToSpeech.java
Diffstat (limited to 'core/java/android/speech')
| -rwxr-xr-x | core/java/android/speech/tts/TextToSpeech.java | 62 | 
1 files changed, 60 insertions, 2 deletions
| diff --git a/core/java/android/speech/tts/TextToSpeech.java b/core/java/android/speech/tts/TextToSpeech.java index 41b25ec..8fa06fa 100755 --- a/core/java/android/speech/tts/TextToSpeech.java +++ b/core/java/android/speech/tts/TextToSpeech.java @@ -369,7 +369,28 @@ public class TextToSpeech {       */      public void speakIpa(String ipaText, int queueMode, HashMap<String,String> params)      { -        //TODO: Implement speakIpa +        synchronized (mStartLock) { +            Log.i("TTS received: ", ipaText); +            if (!mStarted) { +                return; +            } +            try { +                // TODO support extra parameters, passing cache of current parameters for the moment +                mITts.speakIpa(ipaText, queueMode, mCachedParams); +            } catch (RemoteException e) { +                // TTS died; restart it. +                mStarted = false; +                initTts(); +            } catch (NullPointerException e) { +                // TTS died; restart it. +                mStarted = false; +                initTts(); +            } catch (IllegalStateException e) { +                // TTS died; restart it. +                mStarted = false; +                initTts(); +            } +        }      } @@ -600,7 +621,7 @@ public class TextToSpeech {      /** -     * Speaks the given text using the specified queueing mode and parameters. +     * Synthesizes the given text to a file using the specified parameters.       *       * @param text       *            The String of text that should be synthesized @@ -637,5 +658,42 @@ public class TextToSpeech {          }      } +    /** +     * Synthesizes the given IPA text to a file using the specified parameters. +     * +     * @param text +     *            The String of text that should be synthesized +     * @param params +     *            A hashmap of parameters. +     * @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 +     */ +    public boolean synthesizeIpaToFile(String ipaText, +            HashMap<String,String> params, String filename) { +        synchronized (mStartLock) { +            if (!mStarted) { +                return false; +            } +            try { +                // TODO support extra parameters, passing null for the moment +                return mITts.synthesizeIpaToFile(ipaText, null, filename); +            } catch (RemoteException e) { +                // TTS died; restart it. +                mStarted = false; +                initTts(); +            } catch (NullPointerException e) { +                // TTS died; restart it. +                mStarted = false; +                initTts(); +            } catch (IllegalStateException e) { +                // TTS died; restart it. +                mStarted = false; +                initTts(); +            } +            return false; +        } +    }  } | 
