0

視覚障害者向けの Android アプリを開発しています。目の不自由なユーザーが TalkBack を使用することを期待しています。私の具体的な質問は、ユーザーがキーボードでテキストを入力し終わったときに表示される TalkBack メッセージ (「キーボードが非表示」) についてです。このメッセージを抑止するか、話されたメッセージの終わりを検出したいと考えています。

背景/コンテキスト: TalkBack の一般的な問題は、その音声メッセージが、アプリで実行する他の音声合成または音声認識を妨害することです。ほとんどの場合、アクティビティのタイトルを null 文字列に設定するなど、TalkBack メッセージを抑制するように工夫することで、この問題を回避しました。

現在、キーボードを使用する機能を追加しています (ちなみに音声認識のオプション付き)。キーボードの登場を知らせるために通常出てくるTalkBackメッセージを抑えることができました。

ただし、ユーザーがテキストの入力を終了したときに (私のアプリでは、キーボードの [完了] キーを押して) 表示される TalkBack メッセージ (「キーボードが非表示」) を抑制することはできません。この特定のメッセージは、もちろんサポートしたい標準の Google キーボードに固有のものです。(TouchPal キーボードには対応するメッセージはありませんが、そのキーボードには TalkBack に関して別の問題があります。)

以下のいずれかを行っていただければ幸いです。

  1. (Google) キーボードが非表示の場合に TalkBack メッセージを抑制する、または

  2. TalkBack メッセージがいつ終了したかを検出します。

文脈上、(2) はアプリ内で音声合成を使用して行うことです。TextToSpeech.setOnUtteranceProgressListener を使用して合成音声の終了を検出し、音声の終了後にのみ、音声認識または別の合成音声メッセージを開始します。これは非常にうまく機能します。私のアプリによって生成された音声は、他の音声を上書きしたり、音声認識によって拾われたりしません。一方、TalkBack は、他のことが起こっていることを認識していないようです。それに対処する方法についてのアイデアを歓迎します。

どうもありがとうございました。

4

1 に答える 1

0

あなたはそれを抑えることはできません。その代わりに、起動中のアクティビティまたはビューに空のテキストを渡します。これはあなたの目的に役立ちます。

于 2014-11-17T05:21:01.030 に答える