文字转语音应用程序会将屏幕上书写的文本转换为语音,就像您在屏幕上书写了“ Hello World”一样,当您按下按钮时,它将说出“ Hello World”。文字转语音通常用作辅助功能,以帮助阅读屏幕上的文本有困难的人,但对于想阅读的人也很方便。对于用户而言,此功能已成为非常普遍且有用的功能。
Note: To implement its vice versa that is to convert speech to text please refer to How to Convert Speech to Text in Android?
在Android中将文本转换为语音的步骤
步骤1:创建一个新项目
要在Android Studio中创建新项目,请参阅如何在Android Studio中创建/启动新项目。请注意,选择Java作为编程语言。
步骤2:使用activity_main.xml文件
转到应用程序-> res->布局-> activity_main.xml部分,并设置应用程序的布局。在此文件中,添加一个EditText来输入用户的文本,即一个Button,因此,每当用户单击Button时,它将转换为语音,并转换一个TextView来显示GeeksforGeeks文本。以下是activity_main.xml文件的完整代码。
activity_main.xml
MainActivity.java
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.speech.tts.TextToSpeech;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import java.util.Locale;
public class MainActivity extends AppCompatActivity {
EditText Text;
Button btnText;
TextToSpeech textToSpeech;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Text = findViewById(R.id.Text);
btnText = findViewById(R.id.btnText);
// create an object textToSpeech and adding features into it
textToSpeech = new TextToSpeech(getApplicationContext(), new TextToSpeech.OnInitListener() {
@Override
public void onInit(int i) {
// if No error is found then only it will run
if(i!=TextToSpeech.ERROR){
// To Choose language of speech
textToSpeech.setLanguage(Locale.UK);
}
}
});
// Adding OnClickListener
btnText.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
textToSpeech.speak(Text.getText().toString(),TextToSpeech.QUEUE_FLUSH,null);
}
});
}
}
步骤3:使用MainActivity。 Java文件
转到应用-> Java > com.example.GFG(Package Name)-> MainActivity。 Java部分。现在,将Button和Edittext加入Java代码,并在代码内部添加注释,以轻松理解代码。以下是MainActivity的完整代码。 Java文件。
主要活动。Java
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.speech.tts.TextToSpeech;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import java.util.Locale;
public class MainActivity extends AppCompatActivity {
EditText Text;
Button btnText;
TextToSpeech textToSpeech;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Text = findViewById(R.id.Text);
btnText = findViewById(R.id.btnText);
// create an object textToSpeech and adding features into it
textToSpeech = new TextToSpeech(getApplicationContext(), new TextToSpeech.OnInitListener() {
@Override
public void onInit(int i) {
// if No error is found then only it will run
if(i!=TextToSpeech.ERROR){
// To Choose language of speech
textToSpeech.setLanguage(Locale.UK);
}
}
});
// Adding OnClickListener
btnText.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
textToSpeech.speak(Text.getText().toString(),TextToSpeech.QUEUE_FLUSH,null);
}
});
}
}
用户也可以选择另一种语言。为此,请参考下图以了解操作方法。