Как использовать textToSpeech в классе без активности? - PullRequest
0 голосов
/ 07 июня 2019

У меня есть класс MainActivity, где я хочу слышать textToSpeech, вызываемый из класса без активности. Класс no activity вызывается автоматически, поэтому я не вызываю его, чтобы иметь возможность отправлять контекст через конструктор.

Это класс без активности

public class SetTiredAction implements Action
{
    private TextToSpeech textToSpeech;
    @Override
    public void execute(State state)
    {
        MenuActivity activity = new MenuActivity();
        Log.i("TEIRE", "TIRED");

        textToSpeech = new TextToSpeech(activity.getContext(), new TextToSpeech.OnInitListener() 
        {
            @Override
            public void onInit(int status) 
            {
                if (status == TextToSpeech.SUCCESS) 
                {
                    int ttsLang = textToSpeech.setLanguage(Locale.US);
                    Log.i("TTS", "Initialization success.");
                 }
            }
        });
        textToSpeech.speak("Are you tired?", TextToSpeech.QUEUE_FLUSH, null, null);
        textToSpeech.shutdown();
    }
}

В классе MenuActivity у меня есть метод для получения контекста, но я получаю исключение цели вызова ошибки.

Как я мог решить эту проблему?

...