diff options
| -rw-r--r-- | core/java/android/speech/tts/SynthesisCallback.java | 159 | ||||
| -rw-r--r-- | core/java/android/speech/tts/TextToSpeech.java | 4 | ||||
| -rw-r--r-- | core/java/android/speech/tts/TextToSpeechService.java | 17 |
3 files changed, 92 insertions, 88 deletions
diff --git a/core/java/android/speech/tts/SynthesisCallback.java b/core/java/android/speech/tts/SynthesisCallback.java index 6c7a21760405..2fd84996ece0 100644 --- a/core/java/android/speech/tts/SynthesisCallback.java +++ b/core/java/android/speech/tts/SynthesisCallback.java @@ -18,7 +18,6 @@ package android.speech.tts; import android.annotation.IntDef; import android.annotation.IntRange; import android.media.AudioFormat; -import android.speech.tts.TextToSpeech; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -40,107 +39,107 @@ import java.lang.annotation.RetentionPolicy; */ public interface SynthesisCallback { - /** @hide */ - @Retention(RetentionPolicy.SOURCE) - @IntDef({AudioFormat.ENCODING_PCM_8BIT, AudioFormat.ENCODING_PCM_16BIT, - AudioFormat.ENCODING_PCM_FLOAT}) - public @interface SupportedAudioFormat {}; + /** @hide */ + @Retention(RetentionPolicy.SOURCE) + @IntDef({ + AudioFormat.ENCODING_PCM_8BIT, + AudioFormat.ENCODING_PCM_16BIT, + AudioFormat.ENCODING_PCM_FLOAT + }) + @interface SupportedAudioFormat {}; /** - * @return the maximum number of bytes that the TTS engine can pass in a single call of - * {@link #audioAvailable}. Calls to {@link #audioAvailable} with data lengths - * larger than this value will not succeed. + * @return the maximum number of bytes that the TTS engine can pass in a single call of {@link + * #audioAvailable}. Calls to {@link #audioAvailable} with data lengths larger than this + * value will not succeed. */ - public int getMaxBufferSize(); + int getMaxBufferSize(); - // TODO: Replace reference to Android N to an API level when the API level for N is decided. - /** - * The service should call this when it starts to synthesize audio for this - * request. - * - * This method should only be called on the synthesis thread, - * while in {@link TextToSpeechService#onSynthesizeText}. - * - * @param sampleRateInHz Sample rate in HZ of the generated audio. - * @param audioFormat Audio format of the generated audio. Must be one of - * {@link AudioFormat#ENCODING_PCM_8BIT} or - * {@link AudioFormat#ENCODING_PCM_16BIT}. Can also be - * {@link AudioFormat#ENCODING_PCM_FLOAT} when targetting Android N and - * above. - * @param channelCount The number of channels. Must be {@code 1} or {@code 2}. - * @return {@link TextToSpeech#SUCCESS}, {@link TextToSpeech#ERROR} or - * {@link TextToSpeech#STOPPED}. - */ - public int start(int sampleRateInHz, @SupportedAudioFormat int audioFormat, - @IntRange(from=1,to=2) int channelCount); + /** + * The service should call this when it starts to synthesize audio for this request. + * + * <p>This method should only be called on the synthesis thread, while in {@link + * TextToSpeechService#onSynthesizeText}. + * + * @param sampleRateInHz Sample rate in HZ of the generated audio. + * @param audioFormat Audio format of the generated audio. Must be one of {@link + * AudioFormat#ENCODING_PCM_8BIT} or {@link AudioFormat#ENCODING_PCM_16BIT}. Can also be + * {@link AudioFormat#ENCODING_PCM_FLOAT} when targetting Android N and above. + * @param channelCount The number of channels. Must be {@code 1} or {@code 2}. + * @return {@link android.speech.tts.TextToSpeech#SUCCESS}, {@link + * android.speech.tts.TextToSpeech#ERROR} or {@link android.speech.tts.TextToSpeech#STOPPED}. + */ + int start( + int sampleRateInHz, + @SupportedAudioFormat int audioFormat, + @IntRange(from = 1, to = 2) int channelCount); - /** - * The service should call this method when synthesized audio is ready for consumption. - * - * This method should only be called on the synthesis thread, - * while in {@link TextToSpeechService#onSynthesizeText}. - * - * @param buffer The generated audio data. This method will not hold on to {@code buffer}, - * so the caller is free to modify it after this method returns. - * @param offset The offset into {@code buffer} where the audio data starts. - * @param length The number of bytes of audio data in {@code buffer}. This must be - * less than or equal to the return value of {@link #getMaxBufferSize}. - * @return {@link TextToSpeech#SUCCESS}, {@link TextToSpeech#ERROR} or - * {@link TextToSpeech#STOPPED}. - */ - public int audioAvailable(byte[] buffer, int offset, int length); + /** + * The service should call this method when synthesized audio is ready for consumption. + * + * <p>This method should only be called on the synthesis thread, while in {@link + * TextToSpeechService#onSynthesizeText}. + * + * @param buffer The generated audio data. This method will not hold on to {@code buffer}, so the + * caller is free to modify it after this method returns. + * @param offset The offset into {@code buffer} where the audio data starts. + * @param length The number of bytes of audio data in {@code buffer}. This must be less than or + * equal to the return value of {@link #getMaxBufferSize}. + * @return {@link android.speech.tts.TextToSpeech#SUCCESS}, {@link + * android.speech.tts.TextToSpeech#ERROR} or {@link android.speech.tts.TextToSpeech#STOPPED}. + */ + int audioAvailable(byte[] buffer, int offset, int length); - /** - * The service should call this method when all the synthesized audio for a request has - * been passed to {@link #audioAvailable}. - * - * This method should only be called on the synthesis thread, - * while in {@link TextToSpeechService#onSynthesizeText}. - * - * This method has to be called if {@link #start} and/or {@link #error} was called. - * - * @return {@link TextToSpeech#SUCCESS}, {@link TextToSpeech#ERROR} or - * {@link TextToSpeech#STOPPED}. - */ - public int done(); + /** + * The service should call this method when all the synthesized audio for a request has been + * passed to {@link #audioAvailable}. + * + * <p>This method should only be called on the synthesis thread, while in {@link + * TextToSpeechService#onSynthesizeText}. + * + * <p>This method has to be called if {@link #start} and/or {@link #error} was called. + * + * @return {@link android.speech.tts.TextToSpeech#SUCCESS}, {@link + * android.speech.tts.TextToSpeech#ERROR} or {@link android.speech.tts.TextToSpeech#STOPPED}. + */ + int done(); /** * The service should call this method if the speech synthesis fails. * - * This method should only be called on the synthesis thread, - * while in {@link TextToSpeechService#onSynthesizeText}. + * <p>This method should only be called on the synthesis thread, while in {@link + * TextToSpeechService#onSynthesizeText}. */ - public void error(); + void error(); - - /** - * The service should call this method if the speech synthesis fails. - * - * This method should only be called on the synthesis thread, - * while in {@link TextToSpeechService#onSynthesizeText}. - * - * @param errorCode Error code to pass to the client. One of the ERROR_ values from - * {@link TextToSpeech} - */ - public void error(@TextToSpeech.Error int errorCode); + /** + * The service should call this method if the speech synthesis fails. + * + * <p>This method should only be called on the synthesis thread, while in {@link + * TextToSpeechService#onSynthesizeText}. + * + * @param errorCode Error code to pass to the client. One of the ERROR_ values from {@link + * android.speech.tts.TextToSpeech} + */ + void error(@TextToSpeech.Error int errorCode); /** * Check if {@link #start} was called or not. * - * This method should only be called on the synthesis thread, - * while in {@link TextToSpeechService#onSynthesizeText}. + * <p>This method should only be called on the synthesis thread, while in {@link + * TextToSpeechService#onSynthesizeText}. * - * Useful for checking if a fallback from network request is possible. + * <p>Useful for checking if a fallback from network request is possible. */ - public boolean hasStarted(); + boolean hasStarted(); /** * Check if {@link #done} was called or not. * - * This method should only be called on the synthesis thread, - * while in {@link TextToSpeechService#onSynthesizeText}. + * <p>This method should only be called on the synthesis thread, while in {@link + * TextToSpeechService#onSynthesizeText}. * - * Useful for checking if a fallback from network request is possible. + * <p>Useful for checking if a fallback from network request is possible. */ - public boolean hasFinished(); + boolean hasFinished(); } diff --git a/core/java/android/speech/tts/TextToSpeech.java b/core/java/android/speech/tts/TextToSpeech.java index d55c7bd5a9eb..24cad950f648 100644 --- a/core/java/android/speech/tts/TextToSpeech.java +++ b/core/java/android/speech/tts/TextToSpeech.java @@ -191,7 +191,7 @@ public class TextToSpeech { * * @param status {@link TextToSpeech#SUCCESS} or {@link TextToSpeech#ERROR}. */ - public void onInit(int status); + void onInit(int status); } /** @@ -208,7 +208,7 @@ public class TextToSpeech { * * @param utteranceId the identifier of the utterance. */ - public void onUtteranceCompleted(String utteranceId); + void onUtteranceCompleted(String utteranceId); } /** diff --git a/core/java/android/speech/tts/TextToSpeechService.java b/core/java/android/speech/tts/TextToSpeechService.java index 9b238ce64c97..171a72c6e593 100644 --- a/core/java/android/speech/tts/TextToSpeechService.java +++ b/core/java/android/speech/tts/TextToSpeechService.java @@ -655,12 +655,17 @@ public abstract class TextToSpeechService extends Service { } interface UtteranceProgressDispatcher { - public void dispatchOnStop(); - public void dispatchOnSuccess(); - public void dispatchOnStart(); - public void dispatchOnError(int errorCode); - public void dispatchOnBeginSynthesis(int sampleRateInHz, int audioFormat, int channelCount); - public void dispatchOnAudioAvailable(byte[] audio); + void dispatchOnStop(); + + void dispatchOnSuccess(); + + void dispatchOnStart(); + + void dispatchOnError(int errorCode); + + void dispatchOnBeginSynthesis(int sampleRateInHz, int audioFormat, int channelCount); + + void dispatchOnAudioAvailable(byte[] audio); } /** Set of parameters affecting audio output. */ |