قابلیت تلفظ متون انگلیسی در برنامه نویسی اندروید

برای اضافه کردن این قابلیت لازمه که از کلاس TextToSpeech استفاده کنیم

پس قبل از ھر چیز یک شی جدید از این کلاس با
نام دلخواه talafoz می سازیم و سپس تو متد onCreate متد مربوط به talafoz را new میکنیم:

قابلیت تلفظ و خواندن متون انگلیسی در برنامه نویسی اندروید تبدیل متن به گفتار

talafoz=new TextToSpeech(this, new TextToSpeech.OnInitListener() {
 @Override
 public void onInit(int i) {

 }
});

خب حالا بین دو آکولاد مربوط به تابع onInit یک شرط قرار میدیم که اگر گوشی کابر این قابلیت را دارد

بیا برای ما یه اعمالی
انجام بده (در ادامه توضیح میدم) و اگر این قابلیت را ندارد یک پیغام نمایش بده

با این عنوان که “قابلیت تلفظ برای دستگاه شما
وجود ندارد” (کد ما به شکل زیر خواھد شد):

talafoz=new TextToSpeech(this, new TextToSpeech.OnInitListener() {
 @Override
 public void onInit(int i) {
 if (i==TextToSpeech.SUCCESS)
 {

 }
 }else
 {
شما دستگاه برای تلفظ قابلیت",()getApplicationContext(makeText.Toast
وجود ندارد,"Toast.LENGTH_SHORT).show();
 }
 }
});

در قدم بعدی در قسمت برقراری شرط بالا میام و یه شرط دیگه تعریف میکنیم

که اگر گوشی کاربر زبان مورد نظر ما (که در
اینجا انگلیسی ھست) را ساپورت نکرد یک پیغام با این محتوا که “این زبان پشتیبانی نمیشود” را نمایش دھد

و دکمه تلفظ را غیر
فعال کند (کد نھایی به شکل زیر خواھد بود):

talafoz=new TextToSpeech(this, new TextToSpeech.OnInitListener() {
 @Override
 public void onInit(int i) {
 if (i==TextToSpeech.SUCCESS)
 {
 //baresi inke aya zabane morede nazar ra support mikone ya na
 int result=talafoz.setLanguage(Locale.US);
 if (result==TextToSpeech.LANG_MISSING_DATA ||
result==TextToSpeech.LANG_NOT_SUPPORTED)
 {
پشتیبانی زبان این",()getApplicationContext(makeText.Toast
نمیشود,"Toast.LENGTH_SHORT) .show();
 btnSpeak.setEnabled(false);
 }
 }else
 {
شما دستگاه برای تلفظ قابلیت",()getApplicationContext(makeText.Toast
وجود ندارد,"Toast.LENGTH_SHORT).show();
 }
 }
});

خب قدم بعدی اینه کھ برای دکمه تلفظ متد setOnCheckedChangeListener را فراخوانی کنیم و داخل این متد تعریف کنیم که
اگر روی این دکمه کلیک شد متن داخل تکست ویو ما را گرفته و آن را تلفظ کند ، این عمل را با خط کد زیر انجام میدھیم:

talafoz.speak(txtConverE.getText().toString(),TextToSpeech.QUEUE_FLUSH,null);

در اینجا در پارامتر دوم داخل پرانتز مشخص کردیم که با ھربار کلیک کردن متون قبلی را حذف کنه و متن جدید را تلفظ کنه موفق باشید .

مدیر سایت

87 مطلب منتشر شده

درباره این مطلب نظر دهید !