在没有任何UI显示的情况下调用TextToSpeech活动

时间:2011-01-23 00:33:01

标签: android text-to-speech android-intent

在不调用任何UI更改的情况下调用TextToSpeech的推荐方法是什么?给出的示例都绑定到Activities,而活动的默认行为是显示自己的UI。

我正试图通过我的主要活动通过Intent调用TextToSpeechActivity。我不希望UI完全改变。我希望TextToSpeech在UI更改时没有任何声音。这是我到目前为止所拥有的。

 public class MyActivity extends Activity {

    public void onClick(View v) {
       Intent intent = new Intent(this, TextToSpeechActivity.class);
       startActivity(intent);
    }

    public void onCreate(Bundle savedInstanceState) {  
       super.onCreate(savedInstanceState);
       setContentView(R.layout.main);
    }
}

每次单击时,主UI都将替换为TextToSpeech活动的UI。不,我不希望主Activity实现TextToSpeech.OnInitListener。主要的代码已经足够了。它已经很乱了。

1 个答案:

答案 0 :(得分:2)

您无需开始新活动。 TTS的毛茸茸的事情是你需要先进行一些初始化才能使用它。这样做,例如在onClick()内根本不起作用。 我在Zwitscher中实现了这个: https://github.com/pilhuhn/ZwitscherA/blob/master/src/de/bsd/zwitscher/OneTweetActivity.java#L317 从UI上的按钮调用speak(),并从onCreate()内调用所需的初始化:https://github.com/pilhuhn/ZwitscherA/blob/master/src/de/bsd/zwitscher/OneTweetActivity.java#L62 如果不再需要,请不要忘记关闭TTS系统: https://github.com/pilhuhn/ZwitscherA/blob/master/src/de/bsd/zwitscher/OneTweetActivity.java#L394

HTH(如果有更好的解决方案,请告诉我)