RecognitionService.Callback
public
class
RecognitionService.Callback
extends Object
java.lang.Object | |
↳ | android.speech.RecognitionService.Callback |
This class receives callbacks from the speech recognition service and forwards them to the
user. An instance of this class is passed to the
RecognitionService#onStartListening(Intent, Callback)
method. Recognizers may call
these methods on any thread.
Summary
Public methods | |
---|---|
void
|
beginningOfSpeech()
The service should call this method when the user has started to speak. |
void
|
bufferReceived(byte[] buffer)
The service should call this method when sound has been received. |
void
|
endOfSegmentedSession()
The service should call this method to end a segmented session. |
void
|
endOfSpeech()
The service should call this method after the user stops speaking. |
void
|
error(int error)
The service should call this method when a network or recognition error occurred. |
AttributionSource
|
getCallingAttributionSource()
Gets the permission identity of the calling app. |
int
|
getCallingUid()
Return the Linux uid assigned to the process that sent you the current transaction that is being processed. |
void
|
languageDetection(Bundle results)
The service should call this method when the language detection (and switching) results are available. |
void
|
partialResults(Bundle partialResults)
The service should call this method when partial recognition results are available. |
void
|
readyForSpeech(Bundle params)
The service should call this method when the endpointer is ready for the user to start speaking. |
void
|
results(Bundle results)
The service should call this method when recognition results are ready. |
void
|
rmsChanged(float rmsdB)
The service should call this method when the sound level in the audio stream has changed. |
void
|
segmentResults(Bundle results)
The service should call this method for each ready segment of a long recognition session. |
Inherited methods | |
---|---|
Public methods
beginningOfSpeech
public void beginningOfSpeech ()
The service should call this method when the user has started to speak.
Throws | |
---|---|
RemoteException |
bufferReceived
public void bufferReceived (byte[] buffer)
The service should call this method when sound has been received. The purpose of this function is to allow giving feedback to the user regarding the captured audio.
Parameters | |
---|---|
buffer |
byte : a buffer containing a sequence of big-endian 16-bit integers representing a
single channel audio stream. The sample rate is implementation dependent. |
Throws | |
---|---|
RemoteException |
endOfSegmentedSession
public void endOfSegmentedSession ()
The service should call this method to end a segmented session.
Throws | |
---|---|
RemoteException |
endOfSpeech
public void endOfSpeech ()
The service should call this method after the user stops speaking.
Throws | |
---|---|
RemoteException |
error
public void error (int error)
The service should call this method when a network or recognition error occurred.
Throws | |
---|---|
RemoteException |
getCallingAttributionSource
public AttributionSource getCallingAttributionSource ()
Gets the permission identity of the calling app. If you want to attribute
the mic access to the calling app you can create an attribution context
via Context.createContext(android.content.ContextParams)
and passing this identity to ContextParams.Builder.setNextAttributionSource(AttributionSource)
.
Returns | |
---|---|
AttributionSource |
The permission identity of the calling app.
This value cannot be null . |
getCallingUid
public int getCallingUid ()
Return the Linux uid assigned to the process that sent you the current transaction that
is being processed. This is obtained from Binder#getCallingUid()
.
Returns | |
---|---|
int |
languageDetection
public void languageDetection (Bundle results)
The service should call this method when the language detection (and switching)
results are available. This method can be called on any number of occasions
at any time between beginningOfSpeech()
and endOfSpeech()
,
depending on the speech recognition service implementation.
Parameters | |
---|---|
results |
Bundle : the returned language detection (and switching) results.
To retrieve the most confidently detected language IETF tag
(as defined by BCP 47, e.g., "en-US", "de-DE"),
use To retrieve the language detection confidence level represented by a value
prefixed by To retrieve the alternative locales for the same language
retrieved by the key To retrieve the language switching results represented by a value
prefixed by |
partialResults
public void partialResults (Bundle partialResults)
The service should call this method when partial recognition results are available. This
method can be called at any time between beginningOfSpeech()
and
results(android.os.Bundle)
when partial results are ready. This method may be called zero,
one or multiple times for each call to SpeechRecognizer#startListening(Intent)
,
depending on the speech recognition service implementation.
Parameters | |
---|---|
partialResults |
Bundle : the returned results. To retrieve the results in
ArrayList<String> format use Bundle#getStringArrayList(String) with
SpeechRecognizer#RESULTS_RECOGNITION as a parameter |
Throws | |
---|---|
RemoteException |
readyForSpeech
public void readyForSpeech (Bundle params)
The service should call this method when the endpointer is ready for the user to start speaking.
Parameters | |
---|---|
params |
Bundle : parameters set by the recognition service. Reserved for future use. |
Throws | |
---|---|
RemoteException |
results
public void results (Bundle results)
The service should call this method when recognition results are ready.
Parameters | |
---|---|
results |
Bundle : the recognition results. To retrieve the results in ArrayList<String> format use Bundle#getStringArrayList(String) with
SpeechRecognizer#RESULTS_RECOGNITION as a parameter |
Throws | |
---|---|
RemoteException |
rmsChanged
public void rmsChanged (float rmsdB)
The service should call this method when the sound level in the audio stream has changed. There is no guarantee that this method will be called.
Parameters | |
---|---|
rmsdB |
float : the new RMS dB value |
Throws | |
---|---|
RemoteException |
segmentResults
public void segmentResults (Bundle results)
The service should call this method for each ready segment of a long recognition session.
Parameters | |
---|---|
results |
Bundle : the recognition results. To retrieve the results in ArrayList<String> format use Bundle#getStringArrayList(String) with
SpeechRecognizer#RESULTS_RECOGNITION as a parameter
This value cannot be null . |
Throws | |
---|---|
RemoteException |