1181a44dd81eed5587252ef740663a42fe4d2a9a9Brandon Ballinger/* 2181a44dd81eed5587252ef740663a42fe4d2a9a9Brandon Ballinger * Copyright (C) 2009 The Android Open Source Project 3181a44dd81eed5587252ef740663a42fe4d2a9a9Brandon Ballinger * 4181a44dd81eed5587252ef740663a42fe4d2a9a9Brandon Ballinger * Licensed under the Apache License, Version 2.0 (the "License"); 5181a44dd81eed5587252ef740663a42fe4d2a9a9Brandon Ballinger * you may not use this file except in compliance with the License. 6181a44dd81eed5587252ef740663a42fe4d2a9a9Brandon Ballinger * You may obtain a copy of the License at 7181a44dd81eed5587252ef740663a42fe4d2a9a9Brandon Ballinger * 8181a44dd81eed5587252ef740663a42fe4d2a9a9Brandon Ballinger * http://www.apache.org/licenses/LICENSE-2.0 9181a44dd81eed5587252ef740663a42fe4d2a9a9Brandon Ballinger * 10181a44dd81eed5587252ef740663a42fe4d2a9a9Brandon Ballinger * Unless required by applicable law or agreed to in writing, software 11181a44dd81eed5587252ef740663a42fe4d2a9a9Brandon Ballinger * distributed under the License is distributed on an "AS IS" BASIS, 12181a44dd81eed5587252ef740663a42fe4d2a9a9Brandon Ballinger * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13181a44dd81eed5587252ef740663a42fe4d2a9a9Brandon Ballinger * See the License for the specific language governing permissions and 14181a44dd81eed5587252ef740663a42fe4d2a9a9Brandon Ballinger * limitations under the License. 15181a44dd81eed5587252ef740663a42fe4d2a9a9Brandon Ballinger */ 16181a44dd81eed5587252ef740663a42fe4d2a9a9Brandon Ballinger 17181a44dd81eed5587252ef740663a42fe4d2a9a9Brandon Ballingerpackage android.speech; 18181a44dd81eed5587252ef740663a42fe4d2a9a9Brandon Ballinger 19181a44dd81eed5587252ef740663a42fe4d2a9a9Brandon Ballingerimport android.os.Bundle; 20181a44dd81eed5587252ef740663a42fe4d2a9a9Brandon Ballinger 21181a44dd81eed5587252ef740663a42fe4d2a9a9Brandon Ballinger/** 223da3cad97269d694a6153771fb4a0c3775ca6ab5Valentin Kravtsov * Listener for speech recognition events, used with RecognitionService. 23181a44dd81eed5587252ef740663a42fe4d2a9a9Brandon Ballinger * This gives you both the final recognition results, as well as various 24181a44dd81eed5587252ef740663a42fe4d2a9a9Brandon Ballinger * intermediate events that can be used to show visual feedback to the user. 25181a44dd81eed5587252ef740663a42fe4d2a9a9Brandon Ballinger * {@hide} 26181a44dd81eed5587252ef740663a42fe4d2a9a9Brandon Ballinger */ 273da3cad97269d694a6153771fb4a0c3775ca6ab5Valentin Kravtsovoneway interface IRecognitionListener { 2879896bd123aa3bc69c6455d4e2ddf2b2b555e6e5Valentin Kravtsov /** 2979896bd123aa3bc69c6455d4e2ddf2b2b555e6e5Valentin Kravtsov * Called when the endpointer is ready for the user to start speaking. 3079896bd123aa3bc69c6455d4e2ddf2b2b555e6e5Valentin Kravtsov * 3179896bd123aa3bc69c6455d4e2ddf2b2b555e6e5Valentin Kravtsov * @param params parameters set by the recognition service. Reserved for future use. 3279896bd123aa3bc69c6455d4e2ddf2b2b555e6e5Valentin Kravtsov */ 3379896bd123aa3bc69c6455d4e2ddf2b2b555e6e5Valentin Kravtsov void onReadyForSpeech(in Bundle params); 34181a44dd81eed5587252ef740663a42fe4d2a9a9Brandon Ballinger 3579896bd123aa3bc69c6455d4e2ddf2b2b555e6e5Valentin Kravtsov /** 3679896bd123aa3bc69c6455d4e2ddf2b2b555e6e5Valentin Kravtsov * The user has started to speak. 3779896bd123aa3bc69c6455d4e2ddf2b2b555e6e5Valentin Kravtsov */ 38181a44dd81eed5587252ef740663a42fe4d2a9a9Brandon Ballinger void onBeginningOfSpeech(); 39181a44dd81eed5587252ef740663a42fe4d2a9a9Brandon Ballinger 4079896bd123aa3bc69c6455d4e2ddf2b2b555e6e5Valentin Kravtsov /** 4179896bd123aa3bc69c6455d4e2ddf2b2b555e6e5Valentin Kravtsov * The sound level in the audio stream has changed. 4279896bd123aa3bc69c6455d4e2ddf2b2b555e6e5Valentin Kravtsov * 4379896bd123aa3bc69c6455d4e2ddf2b2b555e6e5Valentin Kravtsov * @param rmsdB the new RMS dB value 4479896bd123aa3bc69c6455d4e2ddf2b2b555e6e5Valentin Kravtsov */ 45181a44dd81eed5587252ef740663a42fe4d2a9a9Brandon Ballinger void onRmsChanged(in float rmsdB); 46181a44dd81eed5587252ef740663a42fe4d2a9a9Brandon Ballinger 47181a44dd81eed5587252ef740663a42fe4d2a9a9Brandon Ballinger /** 4879896bd123aa3bc69c6455d4e2ddf2b2b555e6e5Valentin Kravtsov * More sound has been received. 4979896bd123aa3bc69c6455d4e2ddf2b2b555e6e5Valentin Kravtsov * 5079896bd123aa3bc69c6455d4e2ddf2b2b555e6e5Valentin Kravtsov * @param buffer the byte buffer containing a sequence of 16-bit shorts. 51181a44dd81eed5587252ef740663a42fe4d2a9a9Brandon Ballinger */ 52181a44dd81eed5587252ef740663a42fe4d2a9a9Brandon Ballinger void onBufferReceived(in byte[] buffer); 53181a44dd81eed5587252ef740663a42fe4d2a9a9Brandon Ballinger 5479896bd123aa3bc69c6455d4e2ddf2b2b555e6e5Valentin Kravtsov /** 5579896bd123aa3bc69c6455d4e2ddf2b2b555e6e5Valentin Kravtsov * Called after the user stops speaking. 5679896bd123aa3bc69c6455d4e2ddf2b2b555e6e5Valentin Kravtsov */ 57181a44dd81eed5587252ef740663a42fe4d2a9a9Brandon Ballinger void onEndOfSpeech(); 58181a44dd81eed5587252ef740663a42fe4d2a9a9Brandon Ballinger 5934b234d53f9658ff7206dad6158993a1d197ffa7Mitsuru Oshima /** 6079896bd123aa3bc69c6455d4e2ddf2b2b555e6e5Valentin Kravtsov * A network or recognition error occurred. 6179896bd123aa3bc69c6455d4e2ddf2b2b555e6e5Valentin Kravtsov * 622a5d9f9b577376768372837723f0f42098aba13bJean-Michel Trivi * @param error code is defined in {@link SpeechRecognizer} 6334b234d53f9658ff7206dad6158993a1d197ffa7Mitsuru Oshima */ 6434b234d53f9658ff7206dad6158993a1d197ffa7Mitsuru Oshima void onError(in int error); 65181a44dd81eed5587252ef740663a42fe4d2a9a9Brandon Ballinger 6679896bd123aa3bc69c6455d4e2ddf2b2b555e6e5Valentin Kravtsov /** 6734b234d53f9658ff7206dad6158993a1d197ffa7Mitsuru Oshima * Called when recognition results are ready. 6879896bd123aa3bc69c6455d4e2ddf2b2b555e6e5Valentin Kravtsov * 6979896bd123aa3bc69c6455d4e2ddf2b2b555e6e5Valentin Kravtsov * @param results a Bundle containing the most likely results (N-best list). 7079896bd123aa3bc69c6455d4e2ddf2b2b555e6e5Valentin Kravtsov */ 7179896bd123aa3bc69c6455d4e2ddf2b2b555e6e5Valentin Kravtsov void onResults(in Bundle results); 7279896bd123aa3bc69c6455d4e2ddf2b2b555e6e5Valentin Kravtsov 7379896bd123aa3bc69c6455d4e2ddf2b2b555e6e5Valentin Kravtsov /** 7479896bd123aa3bc69c6455d4e2ddf2b2b555e6e5Valentin Kravtsov * Called when recognition partial results are ready. 7579896bd123aa3bc69c6455d4e2ddf2b2b555e6e5Valentin Kravtsov * 7679896bd123aa3bc69c6455d4e2ddf2b2b555e6e5Valentin Kravtsov * @param results a Bundle containing the current most likely result. 77181a44dd81eed5587252ef740663a42fe4d2a9a9Brandon Ballinger */ 7879896bd123aa3bc69c6455d4e2ddf2b2b555e6e5Valentin Kravtsov void onPartialResults(in Bundle results); 793da3cad97269d694a6153771fb4a0c3775ca6ab5Valentin Kravtsov 803da3cad97269d694a6153771fb4a0c3775ca6ab5Valentin Kravtsov /** 813da3cad97269d694a6153771fb4a0c3775ca6ab5Valentin Kravtsov * Reserved for adding future events. 823da3cad97269d694a6153771fb4a0c3775ca6ab5Valentin Kravtsov * 833da3cad97269d694a6153771fb4a0c3775ca6ab5Valentin Kravtsov * @param eventType the type of the occurred event 843da3cad97269d694a6153771fb4a0c3775ca6ab5Valentin Kravtsov * @param params a Bundle containing the passed parameters 853da3cad97269d694a6153771fb4a0c3775ca6ab5Valentin Kravtsov */ 863da3cad97269d694a6153771fb4a0c3775ca6ab5Valentin Kravtsov void onEvent(in int eventType, in Bundle params); 87181a44dd81eed5587252ef740663a42fe4d2a9a9Brandon Ballinger} 88