0

私はTTS用のiSpeechのAPIを使用しており、Androidプロジェクトの例では、2つのonClickListenersを備えた2つのボタンがあり、1つは音声合成を開始し、もう1つは停止します。アンドロイド画面のスペースを増やすために1つのボタンに留めておきたいので、スピーチが停止している場合はボタンを押すと開始し、開始した場合はボタンを押すと停止します。

これに似た質問がかなりありますが、1つのボタンで1つのリスナーに留めておく方がよいという回答がありますが、質問は複数のリスナーで行われたので、私の質問は2つだけなので、あまり満足していません。

それで、私は本当に2つのボタンに固執しますか(私はそうしないことを望みます)、または1つのボタンでこれを管理する方法はありますか?

編集 私の考えは与えられた例によって制限されたようです。この状況には、1人のリスナーで十分なようです。答えてくれてありがとう:)

4

2 に答える 2

0

その非常に単純な、最初のクリックでボタンのテキストを停止に変更し、onClickListenerはif-elseを開始と停止に使用します。そして、条件のいずれかを最初に入力するときに、ボタンのテキストを変更してください。

あなたはボタンと1つのOnClickListenerでそれを管理することができます...jstはあなたのボタンのテキストで遊ぶ

于 2012-08-14T08:58:21.640 に答える
0

リスナーを1つ持つことができ、同じボタンを使用して開始と停止を行うフラグを含むif-elseステートメントを作成できます。このようなもの:

if(isSpeaking)
{
    //Stop speaking
    isSpeaking = false;
}
else 
{
    //Start speaking
    isSpeaking = true;
}

また、setText()を使用して、発話を開始および停止するたびにボタンのテキストを変更することもできます。

于 2012-08-14T09:00:56.287 に答える