اندروید به ما این قابلیت و امکان را میدهد طراحی اپلیکیشن تا متن را به صدا یا این که به عبارتی گفتار تبدیل کنیم . خیر فقط قابلیت و امکان تبدیل وجود داراست ، بلکه میتوانید متن را به گویش های متعدد به گفتار صوتی تبدیل فرمائید.
اندروید کلاس TextToSpeech را برای اجرای این غرض ارائه میدهد. رایاپارس برای به کار گیری از این کلاس ما یحتاج میباشد application یک آبجکت از این کلاس را مثال گذاری نمایید و همینطور initListener را معین فرمائید.
سینتکس آن در ذیل ارائه شدهاست :
private EditText write;
ttobj=new TextToSpeech(getApplicationContext(), new TextToSpeech.OnInitListener() {
@Override
public void onInit(int status) {
}
});
دراین listener می بایست خصوصیت های مرتبط با آبجکت، از قبیل لهجه ، پایین و بمی صدا و غیره، را معلوم فرمائید.
گویش بوسیله ی فراخوانی روال ()setLanguage تهیه و تنظیم میشود، که سینتکس آن در پایین ارائه گردیده است :
ttobj.setLanguage(Locale.UK);
سیاق setLanguage یک آبجکت Locale (جای ) را تحت عنوان پارامتر میگیرد. لیست بعضی از این جای ها در لیست پایین آمده اند :
ایالات متحده
کانادا-فرانسه
آلمان
ایتالیا
ژاپن
چین
هنگامی که گویش را تهیه و تنظیم کردیم ، قادر خواهیم بود مشی speak از کلاس را فراخوانده و متن را به گفتار صوتی تبدیل کنیم . سینتکس آن مانند پایین است :
ttobj.speak(toSpeak, TextToSpeech.QUEUE_FLUSH, null);
ضمن مشی speak، سیاق های دیگری در کلاس TextToSpeech وجود داراهستند که در لیست تحت ارائه گردیده اند :
(addSpeech(String text, String filename : این سیاق یک نگاشت (mapping) در بین یک حرفه از متن و فولدر صدا قرار تولید می نماید.
()getLanguage : این روال یک مثال lacale را که گویش را تعریف می نماید return می نماید.
()isSpeaking : این سیاق بررسی می نماید که آیا TextToSpeech سرگرم است یا این که خیر.
(setPitch(float pitch : این روال پایین و بمی صدا را برای TextToSpeech تهیه و تنظیم می نماید.
(setSpeechRate(float speechRate : این سیاق سرعت کلام را تهیه و تنظیم می نماید.
()shutdown : این روال منابع مستعمل بوسیله TextToSpeech را آزاد می نماید.
()stop : این روال speak را متوقف می نماید.