কম্পিউটার

কিভাবে একটি অ্যান্ড্রয়েড অ্যাপে TextToSpeech তৈরি করবেন?


এই উদাহরণটি দেখায় কিভাবে আমি একটি অ্যান্ড্রয়েড অ্যাপে TextToSpeech তৈরি করব।

ধাপ 1 − অ্যান্ড্রয়েড স্টুডিওতে একটি নতুন প্রকল্প তৈরি করুন, ফাইল ⇒ নতুন প্রকল্পে যান এবং একটি নতুন প্রকল্প তৈরি করতে সমস্ত প্রয়োজনীয় বিবরণ পূরণ করুন৷

ধাপ 2 − res/layout/activity_main.xml-এ নিম্নলিখিত কোড যোগ করুন।

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
   xmlns:tools="https://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:orientation="vertical"
   android:gravity="center"
   tools:context=".MainActivity">
   <EditText
      android:id="@+id/editText"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:layout_marginBottom="16dp"
      android:hint="Enter Text" />
   <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Pitch"
      android:textSize="16sp" />
   <SeekBar
      android:id="@+id/seekBarPitch"
      android:layout_width="200dp"
      android:layout_height="wrap_content"
      android:progress="50" />
   <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Speed"
      android:textSize="16sp" />
   <SeekBar
      android:id="@+id/seekBarSpeed"
      android:layout_width="200dp"
      android:layout_height="wrap_content"
      android:layout_marginBottom="16dp"
      android:progress="50" />
   <Button
      android:id="@+id/btnSpeak"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_gravity="center_horizontal"
      android:enabled="false"
      android:text="Say it!" />
</LinearLayout>

ধাপ 3 − src/MainActivity.java

-এ নিম্নলিখিত কোড যোগ করুন
import android.speech.tts.TextToSpeech;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.SeekBar;
import java.util.Locale;
public class MainActivity extends AppCompatActivity {
   private TextToSpeech textToSpeech;
   private EditText editText;
   private SeekBar seekBarPitch;
   private SeekBar seekBarSpeed;
   private Button buttonSpeak;
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      buttonSpeak = findViewById(R.id.btnSpeak);
      textToSpeech = new TextToSpeech(this, new TextToSpeech.OnInitListener() {
         @Override
         public void onInit(int status) {
            if (status == TextToSpeech.SUCCESS) {
               int result = textToSpeech.setLanguage(Locale.ENGLISH);
               if (result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED) {
                  Log.e("TextToSpeech", "Language not supported");
               } else {
                  buttonSpeak.setEnabled(true);
               }
            } else {
               Log.e("TextToSpeech", "Initialization failed");
            }
         }
      });
      editText = findViewById(R.id.editText);
      seekBarPitch = findViewById(R.id.seekBarPitch);
      seekBarSpeed = findViewById(R.id.seekBarSpeed);
      buttonSpeak.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
            speak();
         }
      });
   }
   private void speak() {
      String text = editText.getText().toString();
      float pitch = (float) seekBarPitch.getProgress() / 50;
      if (pitch < 0.1) pitch = 0.1f;
      float speed = (float) seekBarSpeed.getProgress() / 50;
      if (speed < 0.1) speed = 0.1f;
      textToSpeech.setPitch(pitch);
      textToSpeech.setSpeechRate(speed);
      textToSpeech.speak(text, TextToSpeech.QUEUE_FLUSH, null);
   }
   @Override
   protected void onDestroy() {
      if (textToSpeech != null) {
         textToSpeech.stop();
         textToSpeech.shutdown();
      }
      super.onDestroy();
   }
}

পদক্ষেপ 4৷ − androidManifest.xml

-এ নিম্নলিখিত কোড যোগ করুন
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android" package="app.com.sample">
   <application
      android:allowBackup="true"
      android:icon="@mipmap/ic_launcher"
      android:label="@string/app_name"
      android:roundIcon="@mipmap/ic_launcher_round"
      android:supportsRtl="true"
      android:theme="@style/AppTheme">
      <activity android:name=".MainActivity">
         <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
         </intent-filter>
      </activity>
   </application>
</manifest>

আসুন আপনার অ্যাপ্লিকেশন চালানোর চেষ্টা করি৷ আমি ধরে নিচ্ছি আপনি আপনার কম্পিউটারের সাথে আপনার আসল অ্যান্ড্রয়েড মোবাইল ডিভাইসটি সংযুক্ত করেছেন৷ অ্যান্ড্রয়েড স্টুডিও থেকে অ্যাপটি চালাতে, আপনার প্রোজেক্টের অ্যাক্টিভিটি ফাইলগুলির একটি খুলুন এবং টুলবার থেকে রান আইকনে ক্লিক করুন। একটি বিকল্প হিসাবে আপনার মোবাইল ডিভাইসটি নির্বাচন করুন এবং তারপরে আপনার মোবাইল ডিভাইসটি পরীক্ষা করুন যা আপনার ডিফল্ট স্ক্রীন প্রদর্শন করবে –

কিভাবে একটি অ্যান্ড্রয়েড অ্যাপে TextToSpeech তৈরি করবেন?


  1. কীভাবে ফেসবুকে অ্যান্ড্রয়েড অ্যাপ তৈরি করবেন?

  2. একটি অ্যান্ড্রয়েড অ্যাপে একটি মাল্টিলেভেল লিস্টভিউ কীভাবে তৈরি করবেন?

  3. একটি অ্যান্ড্রয়েড অ্যাপে এক্সএমএল ফাইল ব্যবহার করে অ্যানিমেশন কীভাবে তৈরি করবেন?

  4. যেকোন অ্যান্ড্রয়েড অ্যাপে কীভাবে হোমস্ক্রিন শর্টকাট তৈরি করবেন