跳到主要内容
版本:v6

@capacitor/screen-reader

屏幕阅读器 API 提供对 TalkBack/VoiceOver 等功能的访问,并为视觉无障碍提供简单的文本转语音功能。

安装​

npm install @capacitor/screen-reader@latest-6
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('语音辅助已启用?' + 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 文本转语音插件。

参数类型
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


接口​

SpeakOptions​

属性类型描述自
valuestring要朗读的文本。1.0.0
languagestring朗读文本的语言,使用其 ISO 639-1 代码(例如:"en")。此选项仅在 Android 上受支持。1.0.0

PluginListenerHandle​

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

ScreenReaderState​

属性类型描述自
valueboolean屏幕阅读器当前是否处于活动状态。1.0.0

类型别名​

StateChangeListener​

(state: ScreenReaderState): void