4

VoiceOver が有効になっている場合の iOS でのイベントの変更について質問があります。視覚障害者向けのアプリを開発しています。

残念ながら、NSSpeechSynthesizer オブジェクトを使用できる Mac OS SDK とは異なり、iOS では TTS がサポートされていません。

VoiceService が公開されていないことがわかりました。結論から言うと、テキスト読み上げ用の API は iOS では利用できないようです。

問題は、データ処理の終了をユーザーに通知するにはどうすればよいかということです。

ここにユーザーケースがあります: ユーザーのプッシュボタン、アプリは結果を返すよりもいくつかの計算/プロセスを作成します。Mac では、speakString:@"Result" を使用すると簡単です。

しかし、VoiceOver に結果をアナウンスするように指示するにはどうすればよいでしょうか??

私があまりにも歪んでいたらすみません:-)

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

4

2 に答える 2

3

あなたはこれを使うことができます

if (UIAccessibilityIsVoiceOverRunning()) {
   UIAccessibilityPostNotification(UIAccessibilityAnnouncementNotification,
                                   @"Result has been computed.");
}
于 2012-07-07T22:51:17.937 に答える
2

VSSpeechSynthesizerはiOSで利用できますが、これはプライベートAPIであるため、アプリストアから拒否される可能性があります。ただし、個人消費用のアプリを作成することはできます。

たとえば、部分的に視力のあるユーザー向けのアクセシブルなアプリの作成が難しくなるため、プライベートAPIはバグだと思います。バグID番号:9451650を提出しましたバグタイトル:VSSpeechSynthesizerはプライベートです

FliteTTSを使用できます。これは無料で、統合がかなり簡単で、iOS5以降でも機能します。

一般的なメッセージ「Resultsavailable」をwavファイルとして録音して再生することもできます。メッセージが静的である場合(または可能な結果の短いリストからのものである場合)、TTSは必要ありません。

iOS6 VoiceOver / Accessibilityは、WWDC2012基調講演で言及されました。

ここで以前の回答を参照してください(これは上記で繰り返しました)

于 2012-06-26T11:29:50.090 に答える