跳至主要內容
版本:v8

@capacitor/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(`Screen reader is now ${value ? 'on' : 'off'}`);
});

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

console.log('Voice over enabled? ' + value);
};

const sayHello = async () => {
await ScreenReader.speak({ value: 'Hello World!' });
};

API

isEnabled()

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

目前螢幕閱讀器是否處於啟用狀態。

此方法在網頁上不受支援(無法偵測螢幕閱讀器)。

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

1.0.0


speak(...)

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

文字轉語音功能。

此函數只有在螢幕閱讀器目前處於啟用狀態時才會運作。

在網頁上,瀏覽器必須支援 SpeechSynthesis API,否則此方法將會擲回錯誤。

如需更多文字轉語音功能,請參閱 Capacitor 社群文字轉語音插件

參數型別
optionsSpeakOptions

1.0.0


addListener('stateChange', ...)

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

新增一個監聽器,以便在螢幕閱讀器開啟或關閉時觸發。

此事件過去名為 'accessibilityScreenReaderStateChange'

此方法在網頁上不受支援(無法偵測螢幕閱讀器)。

參數型別
eventName'stateChange'
listenerStateChangeListener

回傳值: 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