• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2009 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package android.speech;
18 
19 import android.os.Bundle;
20 import android.content.AttributionSource;
21 import android.content.Intent;
22 import android.speech.IRecognitionListener;
23 import android.speech.IRecognitionSupportCallback;
24 
25 /**
26 * A Service interface to speech recognition. Call startListening when
27 * you want to begin capturing audio; RecognitionService will automatically
28 * determine when the user has finished speaking, stream the audio to the
29 * recognition servers, and notify you when results are ready. In most of the cases,
30 * this class should not be used directly, instead use {@link SpeechRecognizer} for
31 * accessing recognition service.
32 * {@hide}
33 */
34 oneway interface IRecognitionService {
35     /**
36      * Starts listening for speech. Please note that the recognition service supports
37      * one listener only, therefore, if this function is called from two different threads,
38      * only the latest one will get the notifications
39      *
40      * @param recognizerIntent the intent from which the invocation occurred. Additionally,
41      *        this intent can contain extra parameters to manipulate the behavior of the recognition
42      *        client. For more information see {@link RecognizerIntent}.
43      * @param listener to receive callbacks, note that this must be non-null
44      * @param attributionSource The attribution source of the caller.
45      */
startListening(in Intent recognizerIntent, in IRecognitionListener listener, in AttributionSource attributionSource)46     void startListening(in Intent recognizerIntent, in IRecognitionListener listener,
47             in AttributionSource attributionSource);
48 
49     /**
50      * Stops listening for speech. Speech captured so far will be recognized as
51      * if the user had stopped speaking at this point. The function has no effect unless it
52      * is called during the speech capturing.
53      *
54      * @param listener to receive callbacks, note that this must be non-null
55      */
stopListening(in IRecognitionListener listener)56     void stopListening(in IRecognitionListener listener);
57 
58     /**
59      * Cancels the speech recognition.
60      *
61      * @param listener to receive callbacks, note that this must be non-null
62      */
cancel(in IRecognitionListener listener, boolean isShutdown)63     void cancel(in IRecognitionListener listener, boolean isShutdown);
64 
65     /**
66      * Checks whether this RecognitionService could {@link #startListening} successfully on the
67      * given recognizerIntent. For more information see {@link #startListening} and
68      * {@link RecognizerIntent}.
69      */
checkRecognitionSupport(in Intent recognizerIntent, in IRecognitionSupportCallback listener)70     void checkRecognitionSupport(in Intent recognizerIntent, in IRecognitionSupportCallback listener);
71 
72     /**
73      * Requests RecognitionService to download the support for the given recognizerIntent. For more
74      * information see {@link #checkRecognitionSupport},  {@link #startListening} and
75      * {@link RecognizerIntent}.
76      */
triggerModelDownload(in Intent recognizerIntent)77     void triggerModelDownload(in Intent recognizerIntent);
78 }
79