在不调用任何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。主要的代码已经足够了。它已经很乱了。
答案 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(如果有更好的解决方案,请告诉我)