How to create TextToSpeech in an android

How to create TextToSpeech in an android - Hello friend inabnomaniiyaha, In the article that you read this time with the title How to create TextToSpeech in an android, we have prepared this article well for you to read and take information in it. hopefully the contents of the post Artikel android-example,what we write you can understand. Alright, happy reading.

Judul : How to create TextToSpeech in an android
link : How to create TextToSpeech in an android

Baca juga


How to create TextToSpeech in an android

How to create TextToSpeech in an android

A TextToSpeech instance can only be used to synthesize text once it has completed its initialization. Implement the TextToSpeech.OnInitListener to be notified of the completion of the initialization.

When you are done using the TextToSpeech instance, call the shutdown() method to release the native resources used by the TextToSpeech engine. Apps targeting Android 11

Step 1 Create a new project in Android Example, go to File ⇒ New Project and fill all required details to create a new project.

How to create TextToSpeech in an android

Step 2 Add the following code to res/layout/activity_main.xml.

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

   xmlns:tools="http://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>

Step 3 Add the following code to src/MainActivity.java

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();

   }

}

Step 4: Add the following code to androidManifest.xml

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://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>



That's the articleHow to create TextToSpeech in an android

That's it for the article How to create TextToSpeech in an android this time, hopefully can be useful for all of you. well, see you in another article post.

You are now reading the articleHow to create TextToSpeech in an android with link addresshttps://inabnonapudyawanabing.blogspot.com/2021/07/how-to-create-texttospeech-in-android.html

Related Posts :

0 Response to "How to create TextToSpeech in an android"

Post a Comment

Tips Tricks for Android Phone

Tips & Tricks for Android Phone is a free android app and Collection of Tips and Tricks related to using your android mobile device lik...