在Android Studio中没有文本字段和按钮的文本到语音

时间:2018-09-02 01:07:07

标签: java android text-to-speech

因此,我想在不使用Android Studio中的文本字段和按钮的情况下创建语音文本。例如,当我打开应用程序时,它会说“欢迎使用我的应用程序”,而没有文本字段或任何按钮。我怎样才能做到这一点?需要你的帮助。

2 个答案:

答案 0 :(得分:0)

您可以像下面这样:

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

}

代码是不言自明的,我对其进行了成功的测试。

答案 1 :(得分:0)

只需在您的onCreate()中添加它:

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