150e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert/* 250e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * Copyright (C) 2011 The Android Open Source Project 350e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * 450e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * Licensed under the Apache License, Version 2.0 (the "License"); 550e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * you may not use this file except in compliance with the License. 650e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * You may obtain a copy of the License at 750e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * 850e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * http://www.apache.org/licenses/LICENSE-2.0 950e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * 1050e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * Unless required by applicable law or agreed to in writing, software 1150e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * distributed under the License is distributed on an "AS IS" BASIS, 1250e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1350e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * See the License for the specific language governing permissions and 1450e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * limitations under the License. 1550e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert */ 1650e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert 1750e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringertpackage android.speech.tts; 1850e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert 1950e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringertimport android.net.Uri; 2050e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringertimport android.os.Bundle; 215acb33af357b56fffb055997718b1e4aa97f53fcPrzemyslaw Szczepaniakimport android.os.ParcelFileDescriptor; 2250e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringertimport android.speech.tts.ITextToSpeechCallback; 23ad6df74ada7c478257425b746588f22eeec199a6Przemyslaw Szczepaniakimport android.speech.tts.Voice; 2450e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert 2550e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert/** 2650e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * Interface for TextToSpeech to talk to TextToSpeechService. 2750e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * 2850e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * {@hide} 2950e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert */ 3050e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringertinterface ITextToSpeechService { 3150e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert 3250e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert /** 3350e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * Tells the engine to synthesize some speech and play it back. 3450e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * 35492b7f0d51f53164aa6eb974cd7ab6a7889af677Narayan Kamath * @param callingInstance a binder representing the identity of the calling 36492b7f0d51f53164aa6eb974cd7ab6a7889af677Narayan Kamath * TextToSpeech object. 3750e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * @param text The text to synthesize. 3850e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * @param queueMode Determines what to do to requests already in the queue. 3950e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * @param param Request parameters. 40df7deefe8ebcbd619f27e2d394d7e5d0d7af33d1Niels Egberts * @param utteranceId Unique identifier of synthesized utterance. 4150e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert */ 42df7deefe8ebcbd619f27e2d394d7e5d0d7af33d1Niels Egberts int speak(in IBinder callingInstance, in CharSequence text, in int queueMode, in Bundle params, 43df7deefe8ebcbd619f27e2d394d7e5d0d7af33d1Niels Egberts String utteranceId); 4450e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert 4550e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert /** 4650e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * Tells the engine to synthesize some speech and write it to a file. 4750e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * 48492b7f0d51f53164aa6eb974cd7ab6a7889af677Narayan Kamath * @param callingInstance a binder representing the identity of the calling 49492b7f0d51f53164aa6eb974cd7ab6a7889af677Narayan Kamath * TextToSpeech object. 5050e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * @param text The text to synthesize. 515acb33af357b56fffb055997718b1e4aa97f53fcPrzemyslaw Szczepaniak * @param fileDescriptor The file descriptor to write the synthesized audio to. Has to be 525acb33af357b56fffb055997718b1e4aa97f53fcPrzemyslaw Szczepaniak writable. 53df7deefe8ebcbd619f27e2d394d7e5d0d7af33d1Niels Egberts * @param utteranceId Unique identifier of synthesized utterance. 5450e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * @param param Request parameters. 5550e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert */ 56df7deefe8ebcbd619f27e2d394d7e5d0d7af33d1Niels Egberts int synthesizeToFileDescriptor(in IBinder callingInstance, in CharSequence text, 57df7deefe8ebcbd619f27e2d394d7e5d0d7af33d1Niels Egberts in ParcelFileDescriptor fileDescriptor, in Bundle params, String utteranceId); 5850e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert 5950e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert /** 6050e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * Plays an existing audio resource. 6150e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * 62492b7f0d51f53164aa6eb974cd7ab6a7889af677Narayan Kamath * @param callingInstance a binder representing the identity of the calling 63492b7f0d51f53164aa6eb974cd7ab6a7889af677Narayan Kamath * TextToSpeech object. 6450e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * @param audioUri URI for the audio resource (a file or android.resource URI) 6550e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * @param queueMode Determines what to do to requests already in the queue. 66df7deefe8ebcbd619f27e2d394d7e5d0d7af33d1Niels Egberts * @param utteranceId Unique identifier of synthesized utterance. 6750e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * @param param Request parameters. 6850e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert */ 69df7deefe8ebcbd619f27e2d394d7e5d0d7af33d1Niels Egberts int playAudio(in IBinder callingInstance, in Uri audioUri, in int queueMode, in Bundle params, 70df7deefe8ebcbd619f27e2d394d7e5d0d7af33d1Niels Egberts String utteranceId); 7150e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert 7250e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert /** 7350e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * Plays silence. 7450e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * 75492b7f0d51f53164aa6eb974cd7ab6a7889af677Narayan Kamath * @param callingInstance a binder representing the identity of the calling 76492b7f0d51f53164aa6eb974cd7ab6a7889af677Narayan Kamath * TextToSpeech object. 7750e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * @param duration Number of milliseconds of silence to play. 7850e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * @param queueMode Determines what to do to requests already in the queue. 7990d15d2371ad85f22254be6985455aa2baa5d15dPrzemyslaw Szczepaniak * @param utteranceId Unique id used to identify this request in callbacks. 8050e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert */ 8190d15d2371ad85f22254be6985455aa2baa5d15dPrzemyslaw Szczepaniak int playSilence(in IBinder callingInstance, in long duration, in int queueMode, 8290d15d2371ad85f22254be6985455aa2baa5d15dPrzemyslaw Szczepaniak in String utteranceId); 8350e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert 8450e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert /** 8550e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * Checks whether the service is currently playing some audio. 8650e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert */ 8750e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert boolean isSpeaking(); 8850e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert 8950e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert /** 9050e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * Interrupts the current utterance (if from the given app) and removes any utterances 9150e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * in the queue that are from the given app. 9250e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * 93492b7f0d51f53164aa6eb974cd7ab6a7889af677Narayan Kamath * @param callingInstance a binder representing the identity of the calling 94492b7f0d51f53164aa6eb974cd7ab6a7889af677Narayan Kamath * TextToSpeech object. 9550e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert */ 96492b7f0d51f53164aa6eb974cd7ab6a7889af677Narayan Kamath int stop(in IBinder callingInstance); 9750e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert 9850e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert /** 9950e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * Returns the language, country and variant currently being used by the TTS engine. 10050e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * Can be called from multiple threads. 10150e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * 10250e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * @return A 3-element array, containing language (ISO 3-letter code), 10350e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * country (ISO 3-letter code) and variant used by the engine. 10450e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * The country and variant may be {@code ""}. If country is empty, then variant must 10550e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * be empty too. 10650e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert */ 10750e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert String[] getLanguage(); 10890d15d2371ad85f22254be6985455aa2baa5d15dPrzemyslaw Szczepaniak 109b46533732c40c6aa4d0d7357176835a33d863234Przemyslaw Szczepaniak /** 110b46533732c40c6aa4d0d7357176835a33d863234Przemyslaw Szczepaniak * Returns a default TTS language, country and variant as set by the user. 111b46533732c40c6aa4d0d7357176835a33d863234Przemyslaw Szczepaniak * 112b46533732c40c6aa4d0d7357176835a33d863234Przemyslaw Szczepaniak * Can be called from multiple threads. 113b46533732c40c6aa4d0d7357176835a33d863234Przemyslaw Szczepaniak * 114b46533732c40c6aa4d0d7357176835a33d863234Przemyslaw Szczepaniak * @return A 3-element array, containing language (ISO 3-letter code), 115b46533732c40c6aa4d0d7357176835a33d863234Przemyslaw Szczepaniak * country (ISO 3-letter code) and variant used by the engine. 116b46533732c40c6aa4d0d7357176835a33d863234Przemyslaw Szczepaniak * The country and variant may be {@code ""}. If country is empty, then variant must 117b46533732c40c6aa4d0d7357176835a33d863234Przemyslaw Szczepaniak * be empty too. 118b46533732c40c6aa4d0d7357176835a33d863234Przemyslaw Szczepaniak */ 119b46533732c40c6aa4d0d7357176835a33d863234Przemyslaw Szczepaniak String[] getClientDefaultLanguage(); 12090d15d2371ad85f22254be6985455aa2baa5d15dPrzemyslaw Szczepaniak 12150e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert /** 12250e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * Checks whether the engine supports a given language. 12350e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * 12450e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * @param lang ISO-3 language code. 12550e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * @param country ISO-3 country code. May be empty or null. 12650e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * @param variant Language variant. May be empty or null. 12750e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * @return Code indicating the support status for the locale. 12850e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * One of {@link TextToSpeech#LANG_AVAILABLE}, 12950e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * {@link TextToSpeech#LANG_COUNTRY_AVAILABLE}, 13050e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * {@link TextToSpeech#LANG_COUNTRY_VAR_AVAILABLE}, 13150e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * {@link TextToSpeech#LANG_MISSING_DATA} 13250e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * {@link TextToSpeech#LANG_NOT_SUPPORTED}. 13350e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert */ 13450e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert int isLanguageAvailable(in String lang, in String country, in String variant); 13550e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert 13650e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert /** 137748af66ca27d3afe2e16ccc80b147d447635292aNarayan Kamath * Returns a list of features available for a given language. Elements of the returned 138748af66ca27d3afe2e16ccc80b147d447635292aNarayan Kamath * string array can be passed in as keys to {@link TextToSpeech#speak} and 139748af66ca27d3afe2e16ccc80b147d447635292aNarayan Kamath * {@link TextToSpeech#synthesizeToFile} to select a given feature or features to be 140748af66ca27d3afe2e16ccc80b147d447635292aNarayan Kamath * used during synthesis. 141748af66ca27d3afe2e16ccc80b147d447635292aNarayan Kamath * 142748af66ca27d3afe2e16ccc80b147d447635292aNarayan Kamath * @param lang ISO-3 language code. 143748af66ca27d3afe2e16ccc80b147d447635292aNarayan Kamath * @param country ISO-3 country code. May be empty or null. 144748af66ca27d3afe2e16ccc80b147d447635292aNarayan Kamath * @param variant Language variant. May be empty or null. 145748af66ca27d3afe2e16ccc80b147d447635292aNarayan Kamath * @return An array of strings containing the set of features supported for 14690d15d2371ad85f22254be6985455aa2baa5d15dPrzemyslaw Szczepaniak * the supplied locale. The array of strings must not contain 147748af66ca27d3afe2e16ccc80b147d447635292aNarayan Kamath * duplicates. 148748af66ca27d3afe2e16ccc80b147d447635292aNarayan Kamath */ 149748af66ca27d3afe2e16ccc80b147d447635292aNarayan Kamath String[] getFeaturesForLanguage(in String lang, in String country, in String variant); 150748af66ca27d3afe2e16ccc80b147d447635292aNarayan Kamath 151748af66ca27d3afe2e16ccc80b147d447635292aNarayan Kamath /** 15250e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * Notifies the engine that it should load a speech synthesis language. 15350e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * 15413896b74194b07c821d5d89713e4e747b9b77d73Przemyslaw Szczepaniak * @param caller a binder representing the identity of the calling 15513896b74194b07c821d5d89713e4e747b9b77d73Przemyslaw Szczepaniak * TextToSpeech object. 15650e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * @param lang ISO-3 language code. 15750e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * @param country ISO-3 country code. May be empty or null. 15850e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * @param variant Language variant. May be empty or null. 15950e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * @return Code indicating the support status for the locale. 16050e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * One of {@link TextToSpeech#LANG_AVAILABLE}, 16150e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * {@link TextToSpeech#LANG_COUNTRY_AVAILABLE}, 16250e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * {@link TextToSpeech#LANG_COUNTRY_VAR_AVAILABLE}, 16350e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * {@link TextToSpeech#LANG_MISSING_DATA} 16450e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * {@link TextToSpeech#LANG_NOT_SUPPORTED}. 16550e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert */ 16613896b74194b07c821d5d89713e4e747b9b77d73Przemyslaw Szczepaniak int loadLanguage(in IBinder caller, in String lang, in String country, in String variant); 16750e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert 16850e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert /** 16950e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * Sets the callback that will be notified when playback of utterance from the 17050e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * given app are completed. 17150e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * 17213896b74194b07c821d5d89713e4e747b9b77d73Przemyslaw Szczepaniak * @param caller Instance a binder representing the identity of the calling 17313896b74194b07c821d5d89713e4e747b9b77d73Przemyslaw Szczepaniak * TextToSpeech object. 17450e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert * @param cb The callback. 17550e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert */ 176492b7f0d51f53164aa6eb974cd7ab6a7889af677Narayan Kamath void setCallback(in IBinder caller, ITextToSpeechCallback cb); 177ad6df74ada7c478257425b746588f22eeec199a6Przemyslaw Szczepaniak 178ad6df74ada7c478257425b746588f22eeec199a6Przemyslaw Szczepaniak /** 179ad6df74ada7c478257425b746588f22eeec199a6Przemyslaw Szczepaniak * Get the array of available voices. 180ad6df74ada7c478257425b746588f22eeec199a6Przemyslaw Szczepaniak */ 181ad6df74ada7c478257425b746588f22eeec199a6Przemyslaw Szczepaniak List<Voice> getVoices(); 182ad6df74ada7c478257425b746588f22eeec199a6Przemyslaw Szczepaniak 183ad6df74ada7c478257425b746588f22eeec199a6Przemyslaw Szczepaniak /** 184ad6df74ada7c478257425b746588f22eeec199a6Przemyslaw Szczepaniak * Notifies the engine that it should load a speech synthesis voice. 185ad6df74ada7c478257425b746588f22eeec199a6Przemyslaw Szczepaniak * 186ad6df74ada7c478257425b746588f22eeec199a6Przemyslaw Szczepaniak * @param caller a binder representing the identity of the calling 187ad6df74ada7c478257425b746588f22eeec199a6Przemyslaw Szczepaniak * TextToSpeech object. 188ad6df74ada7c478257425b746588f22eeec199a6Przemyslaw Szczepaniak * @param voiceName Unique voice of the name. 189ad6df74ada7c478257425b746588f22eeec199a6Przemyslaw Szczepaniak * @return {@link TextToSpeech#SUCCESS} or {@link TextToSpeech#ERROR}. 190ad6df74ada7c478257425b746588f22eeec199a6Przemyslaw Szczepaniak */ 191ad6df74ada7c478257425b746588f22eeec199a6Przemyslaw Szczepaniak int loadVoice(in IBinder caller, in String voiceName); 192ad6df74ada7c478257425b746588f22eeec199a6Przemyslaw Szczepaniak 193ad6df74ada7c478257425b746588f22eeec199a6Przemyslaw Szczepaniak /** 194ad6df74ada7c478257425b746588f22eeec199a6Przemyslaw Szczepaniak * Return a name of the default voice for a given locale. 195ad6df74ada7c478257425b746588f22eeec199a6Przemyslaw Szczepaniak * 196ad6df74ada7c478257425b746588f22eeec199a6Przemyslaw Szczepaniak * This allows {@link TextToSpeech#getVoice} to return a sensible value after a client calls 197ad6df74ada7c478257425b746588f22eeec199a6Przemyslaw Szczepaniak * {@link TextToSpeech#setLanguage}. 198ad6df74ada7c478257425b746588f22eeec199a6Przemyslaw Szczepaniak * 199ad6df74ada7c478257425b746588f22eeec199a6Przemyslaw Szczepaniak * @param lang ISO 3-character language code. 200ad6df74ada7c478257425b746588f22eeec199a6Przemyslaw Szczepaniak * @param country ISO 3-character country code. May be empty or null. 201ad6df74ada7c478257425b746588f22eeec199a6Przemyslaw Szczepaniak * @param variant Language variant. May be empty or null. 202ad6df74ada7c478257425b746588f22eeec199a6Przemyslaw Szczepaniak * @return Code indicating the support status for the locale. 203ad6df74ada7c478257425b746588f22eeec199a6Przemyslaw Szczepaniak * One of {@link TextToSpeech#LANG_AVAILABLE}, 204ad6df74ada7c478257425b746588f22eeec199a6Przemyslaw Szczepaniak * {@link TextToSpeech#LANG_COUNTRY_AVAILABLE}, 205ad6df74ada7c478257425b746588f22eeec199a6Przemyslaw Szczepaniak * {@link TextToSpeech#LANG_COUNTRY_VAR_AVAILABLE}, 206ad6df74ada7c478257425b746588f22eeec199a6Przemyslaw Szczepaniak * {@link TextToSpeech#LANG_MISSING_DATA} 207ad6df74ada7c478257425b746588f22eeec199a6Przemyslaw Szczepaniak * {@link TextToSpeech#LANG_NOT_SUPPORTED}. 208ad6df74ada7c478257425b746588f22eeec199a6Przemyslaw Szczepaniak */ 209ad6df74ada7c478257425b746588f22eeec199a6Przemyslaw Szczepaniak String getDefaultVoiceNameFor(in String lang, in String country, in String variant); 21050e657bb2d005568f5dd8bc1d904d07b0d94018fBjorn Bringert} 211