public
abstract
class
UtteranceProgressListener
extends Object
java.lang.Object | |
↳ | android.speech.tts.UtteranceProgressListener |
Listener for events relating to the progress of an utterance through
the synthesis queue. Each utterance is associated with a call to
speak(CharSequence, int, Bundle, String)
or synthesizeToFile(CharSequence, Bundle, File, String)
with an
associated utterance identifier, as per KEY_PARAM_UTTERANCE_ID
.
The callbacks specified in this method can be called from multiple threads.
Public constructors | |
---|---|
UtteranceProgressListener()
|
Public methods | |
---|---|
void
|
onAudioAvailable(String utteranceId, byte[] audio)
This is called when a chunk of audio is ready for consumption. |
void
|
onBeginSynthesis(String utteranceId, int sampleRateInHz, int audioFormat, int channelCount)
Called when the TTS engine begins to synthesize the audio for a request. |
abstract
void
|
onDone(String utteranceId)
Called when an utterance has successfully completed processing. |
abstract
void
|
onError(String utteranceId)
This method was deprecated
in API level 21.
Use |
void
|
onError(String utteranceId, int errorCode)
Called when an error has occurred during processing. |
abstract
void
|
onStart(String utteranceId)
Called when an utterance "starts" as perceived by the caller. |
void
|
onStop(String utteranceId, boolean interrupted)
Called when an utterance has been stopped while in progress or flushed from the synthesis queue. |
Inherited methods | |
---|---|
From
class
java.lang.Object
|
void onAudioAvailable (String utteranceId, byte[] audio)
This is called when a chunk of audio is ready for consumption.
The audio parameter is a copy of what will be synthesized to the speakers (when synthesis was
initiated with a speak(CharSequence, int, Bundle, String)
call) or written to the file system (for
synthesizeToFile(CharSequence, Bundle, File, String)
). The audio bytes are delivered in one or more chunks;
if onDone(String)
or onError(String)
is called all chunks have been received.
The audio received here may not be played for some time depending on buffer sizes and the amount of items on the synthesis queue.
Parameters | |
---|---|
utteranceId |
String :
The utterance ID of the utterance. |
audio |
byte :
A chunk of audio; the format can be known by listening to
onBeginSynthesis(String, int, int, int) .
|
void onBeginSynthesis (String utteranceId, int sampleRateInHz, int audioFormat, int channelCount)
Called when the TTS engine begins to synthesize the audio for a request.
It provides information about the format of the byte array for subsequent
onAudioAvailable(String, byte[])
calls.
This is called when the TTS engine starts synthesizing audio for the request. If an application wishes to know when the audio is about to start playing, {#onStart(String)} should be used instead.
Parameters | |
---|---|
utteranceId |
String :
The utterance ID of the utterance. |
sampleRateInHz |
int :
Sample rate in hertz of the generated audio. |
audioFormat |
int :
Audio format of the generated audio. Should be one of
ENCODING_PCM_8BIT , ENCODING_PCM_16BIT or
ENCODING_PCM_FLOAT . |
channelCount |
int :
The number of channels.
|
void onDone (String utteranceId)
Called when an utterance has successfully completed processing.
All audio will have been played back by this point for audible output, and all
output will have been written to disk for file synthesis requests.
This request is guaranteed to be called after onStart(String)
.
Parameters | |
---|---|
utteranceId |
String :
The utterance ID of the utterance.
|
void onError (String utteranceId)
This method was deprecated
in API level 21.
Use onError(String, int)
instead
Called when an error has occurred during processing. This can be called
at any point in the synthesis process. Note that there might be calls
to onStart(String)
for specified utteranceId but there will never
be a call to both onDone(String)
and onError(String)
for
the same utterance.
Parameters | |
---|---|
utteranceId |
String :
The utterance ID of the utterance. |
void onError (String utteranceId, int errorCode)
Called when an error has occurred during processing. This can be called
at any point in the synthesis process. Note that there might be calls
to onStart(String)
for specified utteranceId but there will never
be a call to both onDone(String)
and onError(String, int)
for
the same utterance. The default implementation calls onError(String)
.
Parameters | |
---|---|
utteranceId |
String :
The utterance ID of the utterance. |
errorCode |
int :
one of the ERROR_* codes from TextToSpeech
|
void onStart (String utteranceId)
Called when an utterance "starts" as perceived by the caller. This will
be soon before audio is played back in the case of a speak(CharSequence, int, Bundle, String)
or before the first bytes of a file are written to the file system in the case
of synthesizeToFile(CharSequence, Bundle, File, String)
.
Parameters | |
---|---|
utteranceId |
String :
The utterance ID of the utterance.
|
void onStop (String utteranceId, boolean interrupted)
Called when an utterance has been stopped while in progress or flushed from the
synthesis queue. This can happen if a client calls stop()
or uses QUEUE_FLUSH
as an argument with the
speak(CharSequence, int, Bundle, String)
or synthesizeToFile(CharSequence, Bundle, File, String)
methods.
Parameters | |
---|---|
utteranceId |
String :
The utterance ID of the utterance. |
interrupted |
boolean :
If true, then the utterance was interrupted while being synthesized
and its output is incomplete. If false, then the utterance was flushed
before the synthesis started.
|