Java Android Studio中无文本字段和按钮的文本到语音转换
所以,我想在Android Studio中创建一个文本到语音,而不使用textfield和按钮。例如,当我打开应用程序时,它会说“欢迎使用我的应用程序”,而没有文本字段或任何按钮。我该怎么做?我需要你的帮助 您可以执行以下操作:Java Android Studio中无文本字段和按钮的文本到语音转换,java,android,text-to-speech,Java,Android,Text To Speech,所以,我想在Android Studio中创建一个文本到语音,而不使用textfield和按钮。例如,当我打开应用程序时,它会说“欢迎使用我的应用程序”,而没有文本字段或任何按钮。我该怎么做?我需要你的帮助 您可以执行以下操作: import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.speech.tts.TextToSpeech; import java.
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.speech.tts.TextToSpeech;
import java.util.Locale;
public class MainActivity extends Activity {
TextToSpeech t1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
t1 = new TextToSpeech(getApplicationContext(), new TextToSpeech.OnInitListener() {
@Override
public void onInit(int status) {
if (status != TextToSpeech.ERROR) {
t1.setLanguage(Locale.ENGLISH);
}
}
});
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
t1.speak("welcome to my app", TextToSpeech.QUEUE_FLUSH, null);
}
}, 100);
}
public void onPause() {
if (t1 != null) {
t1.stop();
t1.shutdown();
}
super.onPause();
}
}
代码是不言自明的,我测试了它并获得了成功的结果。只需将其添加到onCreate()中即可:
与其从文本字段向它提供字符串,不如传递一个字符串,然后在onViewCreated()中调用text-to-speech方法,看看我对TTS服务的回答:我认为最好将speak()代码放在onInit()方法中setLanguage之后/之后。您不能仅仅假设引擎需要100毫秒才能初始化。你不知道用户的设备上有什么语音引擎,有时谷歌引擎需要6000毫秒。。。所以你最好等到它真正初始化的时候再开口。嗨,先生。只是想问一下你给我的代码是不是Android Studio的?谢谢
myTTS = new TextToSpeech(getApplicationContext(), new TextToSpeech.OnInitListener() {
@Override
public void onInit(int status) {
if (status != TextToSpeech.ERROR) {
// replace this Locale with whatever you want
Locale localeToUse = new Locale("en","US");
myTTS.setLanguage(localeToUse);
myTTS.speak("Hi, Welcome to my app!", TextToSpeech.QUEUE_FLUSH, null);
}
}
});