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 | |
| 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')
| -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; + } + } } |
