2011-01-23 7 views
2

UIの変更を呼び出さずにTextToSpeechを呼び出すには、どのような方法が推奨されますか?与えられた例はすべてアクティビティにバインドされており、アクティビティのデフォルトの動作は独自のUIを表示することです。UI表示なしのTextToSpeechアクティビティの呼び出し

私は主なアクティビティを通してインテントを通して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は、テキスト読み上げの活動のためのUIに置き換えられます。また、主なアクティビティでTextToSpeech.OnInitListenerを実装する必要はありません。メインにはすでに十分なコードがあります。それはすでにかなり面倒です。

答えて

2

新しいアクティビティを開始する必要はありません。 TTSを使った毛深いことは、使用する前にいくつかの初期化を行う必要があるということです。たとえば、 onClick()の中では全く動作しません。 私はZwitscherにすることを実現しました: https://github.com/pilhuhn/ZwitscherA/blob/master/src/de/bsd/zwitscher/OneTweetActivity.java#L317 speak()は、UI上のボタンから呼び出され、必要な初期化が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(もっと良い解決策がある場合は教えてください)

関連する問題