如何让屏幕阅读器在应用程序未激活时朗读文本?

问题描述 投票:0回答:1

我有一个在后台运行但未聚焦的应用程序。

用户可能正在使用一些其他应用程序,并且根据我的应用程序中的某些事件,我希望屏幕阅读器根据我的喜好朗读文本。

我不希望我的应用程序获得焦点,用户应该能够继续使用其他应用程序,我只想屏幕阅读器宣布一些文本。

我已经尝试使用不同的事件发送

QAccessibleEvent
,如
Alert
NameChanged
ObjectShow
等...

但我认为由于我的应用程序没有聚焦,它可能没有通过。

在我的应用程序不获得焦点的情况下是否可以实现我的要求?

我正在使用:

  • Qt 5.15
  • Windows 10
windows qt accessibility screen-readers jaws-screen-reader
1个回答
1
投票

一种可能的解决方案是直接调用屏幕阅读器特定的 API。

但是,如果您还要在屏幕上显示一些文本,那么您最好使用所谓的 toast 或通知系统(如果它适合您的应用程序)。 QT 可能提供对它们的访问。

以防万一,我是一个 DLL 的作者,该 DLL 允许多个屏幕阅读器朗读文本。 请注意,它不会在屏幕上显示任何内容。 http://github.com/qtnc/UniversalSpeech

© www.soinside.com 2019 - 2024. All rights reserved.