我正在尝试在TextToSpeech(TTS)中为可访问性用户添加一些额外信息,例如当用户点击日历按钮时,应该有TTS通知,例如这是一个日历小部件,用户应向上或向下滑动以选择日期。
所以我在日历按钮的onclick中添加了textToSpeech代码。但TTS不起作用,并且对讲直接宣布所选日期/当前日期。
我的代码结构如下: -
calendarButton.onclick{
if(accessibilityIsActive)
tts.speak("This is a calendar widget.Do this... to select a date")
};
当我处于调试模式并逐步执行时,tts执行并且我可以听到我的文本。但是在正常模式下我选择按钮Talkback覆盖此步骤并且焦点转到对话框标题,即当前日期,所以它只是告诉当前日期。我正在使用Android默认日历小部件。
有什么方法可以使TTS工作,然后让对讲取回日期对话框中的控件???我正在使用带有android OS 6.0的nexus 5
答案 0 :(得分:0)
不要直接使用TTS。发布可访问性声明,让Accessibility框架决定如何处理它。
AccessibilityEvent e = AccessibilityEvent.obtain();
e.setEventType(AccessibilityEvent.TYPE_ANNOUNCEMENT);
e.setClassName(getClass().getName());
e.setPackageName(context.getPackageName());
e.getText().add("some text");
manager.sendAccessibilityEvent(e);