我正在尝试添加一些额外的信息在TextToSpeech( TTS )的辅助功能用户,如当用户点击日历按钮,应该有TTS公告,如这是一个日历小工具,用户应该向上或向下滑动选择一个日期。
因此,我在日历按钮的onclick中添加了一个textToSpeech代码。但是TTS不工作,并且对讲直接通告所选择的日期/当前日期。
我的代码结构如下:
calendarButton.onclick{
if(accessibilityIsActive)
tts.speak("This is a calendar widget.Do this... to select a date")
};当我在调试模式下一步一步地执行时,tts会被执行,在正常模式下,我可以听到我的text.But,当我选择按钮Talkback覆盖这一步时,焦点转到对话框标题,这是当前日期,所以它只告诉当前日期。
有没有办法让TTS正常工作,然后让对讲在日期对话框上重新获得控制权?我使用的是装有android OS 6.0的nexus5
发布于 2015-12-17 06:13:49
不要直接使用TTS。发布一个可访问性声明,让可访问性框架决定如何处理它。
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);https://stackoverflow.com/questions/34276579
复制相似问题