Android tekst til tale Tutorial

Android lar deg konvertere tekst til tale. Ikke bare kan du konvertere den, men det gir deg også muligheten til å snakke tekst på mange forskjellige språk.

Android gir TextToSpeech
klasse for dette formålet. For å kunne bruke denne klassen, må du på å bruke et objekt av denne klassen, og også angi initListnere
. Syntaksen er gitt nedenfor:
privat EditText skriv ttobj = new TextToSpeech (getApplicationContext (), ny TextToSpeech.OnInitListener () {Override public void onInit (int status) {}});

I denne lytteren, du må angi egenskapene for TextToSpeech objekt, for eksempel sitt språk, pitch etc Språk kan settes ved å ringe setLanguage ()
metoden. Syntaksen er gitt nedenfor −
ttobj.setLanguage (Locale.UK);

Metoden setLanguage tar en Locale objekt som parameter. En liste over noen av de steder som er tilgjengelige er gitt nedenfor −
Sr.NoLocale1US
2CANADA_FRENCH
3GERMANY
4ITALY
5JAPAN
6CHINA

Once du har stilt inn språk, kan du ringe snakke
metoden i klassen til å lese teksten. Syntaksen er gitt nedenfor −
ttobj.speak (toSpeak, TextToSpeech.QUEUE_FLUSH, null);

Bortsett fra tale metoden, er det noen andre metoder som er tilgjengelige i TextToSpeech klassen. De er listet opp nedenfor:
Sr.NoMethod & description1 addSpeech (String tekst, String filnavn)

Denne metoden legger en mapping mellom en tekststreng og en lydfil.
2 getLanguage ()

Dette Metoden returnerer en Locale eksempel som beskriver språket.
3 isSpeaking ()

Denne metoden sjekker om TextToSpeech motoren er opptatt taler.
4 setPitch (float pitch)

Denne metoden setter tale banen for TextToSpeech motoren.
5 setSpeechRate (flyte speechRate)

Denne metoden setter talehastighet.
6 shutdown ()

Denne metoden frigjør ressurser som brukes av TextToSpeech motoren.
7 stop ()

Denne metoden stoppe tale.

Eksempel
< p> Eksempelet nedenfor viser bruken av TextToSpeech klasse. Det kasser en enkel applikasjon som lar deg sette skrive tekst og snakke det.

For å eksperimentere med dette eksempelet, må du kjøre dette på en faktisk enhet.
StepsDescription1You vil bruke Android studio for å lage en Android søknad under en pakke com.example.sairamkrishna.myapplication. Mens du oppretter dette prosjektet, må du Target SDK og kompilere med på den nyeste versjonen av Android SDK til å bruke høyere nivåer av APIs.2Modify src /MainActivity.java fil for å legge TextToSpeech code.3Modify layout XML fil res /layout /activity_main.xml legge til GUI-komponent hvis required.4Run programmet og velge en som kjører Android-enhet, og installere programmet på den og verifisere resultatene.

Her er innholdet i src /MainActivity.java
.
Pakken com.example.sairamkrishna.myapplication, import android.app.Activity, import android.hardware.SensorManager, import android.os.Bundle, import android.speech.tts.TextToSpeech, import android.util.Log; import android.view .Menyen, import android.view.MenuItem, import android.view.View, import android.widget.Button, import android.widget.EditText, import android.widget.TextView, import java.util.List; import java.util. Locale, import android.hardware.Sensor, import android.hardware.SensorManager, import android.widget.Toast; public class MainActivity strekker Aktivitet {TextToSpeech t1; EditText ed1; Button b1; Override Beskyttet void onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); ed1 = (EditText) findViewById (R.id.editText); b1 = (Button) findViewById (R.id.button); t1 = new TextToSpeech (getApplicationContext (), ny TextToSpeech.OnInitListener () {Override public void onInit (int status) {if (status = TextToSpeech.ERROR) {t1.setLanguage (Locale.UK);!}}}); b1.setOnClickListener (ny View.OnClickListener () {Override public void onClick (Vis v) {String toSpeak = ed1.getText () toString ();. Toast.makeText (getApplicationContext (), toSpeak, Toast.LENGTH_SHORT) .vis (); t1.speak (toSpeak, TextToSpeech.QUEUE_FLUSH, null);}}); } Public void onPause () {if (t1 = null) {t1.stop (); t1.shutdown (); } Super.onPause (); }Override Public boolean onCreateOptionsMenu (Meny menyen) {//Blås menyen; dette legger til elementer i handlingsfeltet hvis det er til stede. . getMenuInflater () blåse (R.menu.menu_main, menyen); return true; }Override Public boolean onOptionsItemSelected (MENUITEM element) {//Håndtak handlingen bar varen klikk her. Handlingsfeltet vil //automatisk håndtere klikker på Hjem /Opp-knappen, så lenge //som du angir en forelder aktivitet i AndroidManifest.xml. int id = item.getItemId (); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) {return true; } Returnere super.onOptionsItemSelected (element); }}

Her er innholdet i activity_main.xml
< RelativeLayout xmlns: Android = "http://schemas.android.com/apk/res/android~~number=plural" xmlns: verktøy = "http://schemas.android.com/tools" android: layout_width = "match_parent" android: layout_height = "match_parent" android: paddingLeft = "@ dimen /activity_horizontal_margin" android: paddingRight = "@ dimen /activity_horizontal_margin" android: paddingTop ". MainActivity" = "@ dimen /activity_vertical_margin" android:: paddingBottom = "@ dimen /activity_vertical_margin" verktøy kontekst = android: transitionGroup = "true" > < TextView android: text = "Tekst til tale" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: id = "+ id /textview" android: Tekststørrelse = "35dp" android: layout_alignParentTop = "true "android: layout_centerHorizontal =" true "/> < TextView android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "Tutorials point" android: id = "+ id /textView" android: layout_below = "+ id /textview" android: layout_centerHorizontal = "true" android: textcolor = "# ff7aff24" android: Tekststørrelse = "35dp" /> < Imageview android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: id = "+ id /bildeVis" android: src = "@ teikne /abc" android: layout_below = "+ id /textView" android : layout_centerHorizontal = "true" android: tema = "@ stil /Base.TextAppearance.AppCompat" /> < EditText android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: id = "+ id /EditText" android: layout_below = "+ id /bildeVis" android: layout_marginTop = "46dp" android: hint = "Enter Text" android: layout_alignParentRight = "true" android: layout_alignParentEnd = "true" android: layout_alignParentLeft = "true" android: layout_alignParentStart = "true" android: textcolor = "# ff7aff10" Android: textColorHint = "# ffff23d1" /> < Button android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "Tekst til tale" android: id = "+ id /knapp" android: layout_below = "+ id /EditText" android: layout_centerHorizontal = "true" android: layout_marginTop = "46dp" /> < /RelativeLayout >

Her er innholdet i strings.xml
< ressurser >. < string name = "APP_NAME" > My Application < /string > < string name = "hello_world" > Hei, verden <! /string > < string name = "action_settings" > Innstillinger < /string > < /ressurser >

Her er innholdet i AndroidManifest.xml
<? xml version = "1.0" encoding = "utf-8" > < manifest xmlns:? android = "http://schemas.android.com/apk/res/android" pakken = "com.example.sairamkrishna.myapplication" > < søknad android: allowBackup = "true" android: icon = "@ Mipmap /ic_launcher" android: label = "@ streng /APP_NAME" android: tema = "@ stil /AppTheme" > < aktivitet android: ". MainActivity" name = android: label = "@ streng /APP_NAME" > < intent-filter > < handling android: name = "android.intent.action.MAIN" > < kategori android: name = "android.intent.category.LAUNCHER" /> < /intent-filter > < /aktivitets > < /søknad > < /manifest >

La oss prøve å kjøre programmet. Jeg antar at du har koblet den faktiske Android Mobile-enhet med datamaskinen. For å kjøre programmet fra Android studio, åpne en av prosjektets aktivitets filer, og klikk Kjør ikonet fra verktøylinjen. Før du starter programmet, vil android studio vise følgende vindu for å velge et alternativ hvor du vil kjøre Android-applikasjon.

Velg den mobile enheten som et alternativ, og deretter sjekke den mobile enheten som vil vise følgende skjermbilde.

Nå bare å skrive en tekst i feltet, og klikk på tekst til tale knappen nedenfor. En melding vil dukke opp, og teksten vil bli lest opp. Det er vist på bildet nedenfor −

Nå skriver noe annet, og gjenta steg igjen med annen nasjonal innstilling. Du vil igjen høre lyden. Dette er vist nedenfor −