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