Android können Sie Ihren Text in Sprache umzuwandeln. Nicht nur können Sie es konvertieren, aber es erlaubt Ihnen auch, Text in verschiedene Sprachen zu sprechen.
Android bietet TextToSpeech Klasse für diesen Zweck. Um diese Klasse zu verwenden, müssen Sie ein Objekt dieser Klasse instanziiert und geben Sie deninitListnere. Die Syntax ist wie folgt:
private EditText write; ttobj=new TextToSpeech(getApplicationContext(), new TextToSpeech.OnInitListener() { @Override public void onInit(int status) { } } );
In diesem Zuhörer, müssen Sie die Eigenschaften für TextToSpeech Objekt, wie ihre Sprache, Pech etc. Sprache kann durch den Aufruf gesetzt werden sollsetLanguage () Methode. Die Syntax ist unten angegeben -
ttobj.setLanguage(Locale.UK);
Das Verfahren setLanguage nimmt eine Gebietsschema-Objekt als Parameter.Die Liste der einige der verfügbaren sind unten angegeben Schauplätze -
Sr.No | Schauplatz |
---|---|
1 | US |
2 | CANADA_FRENCH |
3 | DEUTSCHLAND |
4 | ITALIEN |
5 | JAPAN |
6 | CHINA |
Nachdem Sie die Sprache eingestellt haben, können Sie rufen Sie sprechenMethode der Klasse, um den Text zu sprechen. Die Syntax ist unten angegeben -
ttobj.speak(toSpeak, TextToSpeech.QUEUE_FLUSH, null);
Abgesehen von der Methode sprechen, gibt es einige andere Methode, in der TextToSpeech Klasse. Sie sind nachfolgend aufgeführt:
Sr.No | Verfahren & Beschreibung |
---|---|
1 | addSpeech (String text, String filename)
Diese Methode fügt eine Zuordnung zwischen einer Textzeichenfolge und einer Sounddatei.
|
2 | getLanguage ()
Diese Methode gibt ein Gebietsschemainstanz die Sprache beschreibt.
|
3 | isSpeaking ()
Diese Methode überprüft, ob das Motor TextToSpeech besetzt Sprechen.
|
4 | setpitch (float Abstand)
Diese Methode legt die Sprachtonhöhe für die TextToSpeech Motor.
|
5 | setSpeechRate (float speechRate)
Diese Methode legt die Sprechgeschwindigkeit.
|
6 | herunterfahren()
Diese Methode Gibt die vom TextToSpeech Motors verwendeten Ressourcen frei.
|
7 | Stopp()
Diese Methode stoppen zu sprechen.
|
Beispiel
Das folgende Beispiel demonstriert die Verwendung von TextToSpeech Klasse.Es Kästen einer einfachen Anwendung, die Sie schreiben Text setzen und sprechen sie erlaubt.
Um bei diesem Beispiel zu experimentieren, müssen Sie diese auf einem Gerät laufen.
Schritte | Bezeichnung |
---|---|
1 | Sie werden Android-Studio verwenden, um ein Android-Anwendung unter einem Paket com.example.sairamkrishna.myapplication erstellen.Bei der Erstellung dieses Projekt, stellen Sie sicher SDK Ziel und Kompilieren Sie mit der neuesten Version des Android SDK zu höheren Ebenen der APIs verwenden. |
2 | Ändern src / MainActivity.java Datei an TextToSpeech Code hinzufügen. |
3 | Ändern Sie das Layout XML-Datei res / layout / activity_main.xml jede GUI-Komponente hinzufügen, wenn erforderlich. |
4 | Führen Sie die Anwendung, und wählen Sie einen laufenden Android-Gerät und installieren Sie die Anwendung und überprüfen Sie die Ergebnisse. |
Hier ist der Inhalt des src / MainActivity.java.
package 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.Menu; 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 extends Activity { TextToSpeech t1; EditText ed1; Button b1; @Override protected 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(), new TextToSpeech.OnInitListener() { @Override public void onInit(int status) { if(status != TextToSpeech.ERROR) { t1.setLanguage(Locale.UK); } } }); b1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String toSpeak = ed1.getText().toString(); Toast.makeText(getApplicationContext(), toSpeak,Toast.LENGTH_SHORT).show(); t1.speak(toSpeak, TextToSpeech.QUEUE_FLUSH, null); } }); } public void onPause(){ if(t1 !=null){ t1.stop(); t1.shutdown(); } super.onPause(); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } }
Hier beträgt der Gehalt an activity_main.xml
<RelativeLayout 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:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity" android:transitionGroup="true"> <TextView android:text="Text to Speech" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/textview" android:textSize="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:textSize="35dp" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/imageView" android:src="@drawable/abc" android:layout_below="@+id/textView" android:layout_centerHorizontal="true" android:theme="@style/Base.TextAppearance.AppCompat" /> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/editText" android:layout_below="@+id/imageView" 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="Text to Speech" android:id="@+id/button" android:layout_below="@+id/editText" android:layout_centerHorizontal="true" android:layout_marginTop="46dp" /> </RelativeLayout>
Hier beträgt der Gehalt an strings.xml.
<resources> <string name="app_name">My Application</string> <string name="hello_world">Hello world!</string> <string name="action_settings">Settings</string> </resources>
Hier beträgt der Gehalt an AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.sairamkrishna.myapplication" > <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" > <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
Lassen Sie uns versuchen, um Ihre Anwendung auszuführen. Ich nehme an, Sie Ihre aktuelle Android-Gerät mit dem Computer verbunden haben. Um die App vom Android-Studio, öffnen Sie eine der Aktivität Dateien Ihres Projekt auszuführen, und klicken Sie auf
Ausführen-Symbol in der Symbolleiste. Vor dem Starten Ihrer Anwendung werden android Studio Display folgende Fenster, um eine Option, wo Sie Ihre Android-Anwendung ausgeführt werden soll.
Wählen Sie Ihr Mobilgerät als Option und prüfen Sie dann Ihr mobiles Gerät, das folgende Bildschirm anzeigt.
Jetzt brauchen Sie nur geben Sie Text in das Feld ein und klicken Sie auf den Text in Sprache Button. Eine Benachrichtigung scheint und Text wird gesprochen werden. Es ist in der Abbildung unten dargestellt -
Geben Sie nun etwas anderes, und wiederholen Sie den Schritt es mit einem anderen Gebietsschema. Sie werden wieder zu hören Sound. Dies ist unten dargestellt -
0 التعليقات:
Kommentar veröffentlichen