跳到主要内容
版本:v6

@capacitor/screen-reader

Screen Reader API 提供了对 TalkBack/VoiceOver 等屏幕阅读器的访问能力,并为视觉辅助功能提供简单的文本转语音功能。

安装

npm install @capacitor/screen-reader
npx cap sync

使用示例

import { ScreenReader } from '@capacitor/screen-reader';

ScreenReader.addListener('stateChange', ({ value }) => {
console.log(`屏幕阅读器当前状态:${value ? '开启' : '关闭'}`);
});

const checkScreenReaderEnabled = async () => {
const { value } = await ScreenReader.isEnabled();

console.log('VoiceOver 是否启用?' + value);
};

const sayHello = async () => {
await ScreenReader.speak({ value: '你好世界!' });
};

API

isEnabled()

isEnabled() => Promise<{ value: boolean; }>

检测当前是否有屏幕阅读器正在运行。

此方法在 Web 端不受支持(无法检测屏幕阅读器状态)。

返回值: Promise<{ value: boolean; }>

自版本: 1.0.0


speak(...)

speak(options: SpeakOptions) => Promise<void>

文本转语音功能。

仅当屏幕阅读器处于活动状态时此功能才有效。

在 Web 端,浏览器必须支持 SpeechSynthesis API,否则此方法会抛出错误。

如需更强大的文本转语音功能,请参考 Capacitor Community Text-to-Speech 插件

参数类型
options
SpeakOptions

自版本: 1.0.0


addListener('stateChange', ...)

addListener(eventName: 'stateChange', listener: StateChangeListener) => Promise<PluginListenerHandle>

添加监听器来监测屏幕阅读器的开启/关闭状态变化。

此事件曾命名为 'accessibilityScreenReaderStateChange'

此方法在 Web 端不受支持(无法检测屏幕阅读器状态)。

参数类型
eventName'stateChange'
listener
StateChangeListener

返回值:

Promise<PluginListenerHandle>

自版本: 1.0.0


removeAllListeners()

removeAllListeners() => Promise<void>

移除所有附加到该插件上的监听器。

自版本: 1.0.0


Interfaces

SpeakOptions

属性类型描述版本
valuestring要朗读的文本内容1.0.0
languagestring文本朗读的语言代码(使用 ISO 639-1 标准,例如 "en")。该选项仅在 Android 平台受支持。1.0.0

PluginListenerHandle

属性类型
remove() => Promise<void>

ScreenReaderState

属性类型描述版本
valueboolean表示当前是否有屏幕阅读器正在运行1.0.0

Type Aliases

StateChangeListener


  (state: ScreenReaderState): void