@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 社群文字轉語音插件。
參數 | 型別 |
---|---|
options | SpeakOptions |
自 1.0.0
addListener('stateChange', ...)
addListener(eventName: 'stateChange', listener: StateChangeListener) => Promise<PluginListenerHandle>
新增一個監聽器,以便在螢幕閱讀器開啟或關閉時觸發。
此事件過去名為 'accessibilityScreenReaderStateChange'
。
此方法在網頁上不受支援(無法偵測螢幕閱讀器)。
參數 | 型別 |
---|---|
eventName | 'stateChange' |
listener | StateChangeListener |
回傳值: Promise<PluginListenerHandle>
自 1.0.0
removeAllListeners()
removeAllListeners() => Promise<void>
移除附加至此插件的所有監聽器。
自 1.0.0
介面
SpeakOptions
屬性 | 型別 | 描述 | 自 |
---|---|---|---|
value | string | 要朗讀的文字。 | 1.0.0 |
language | string | 朗讀文字時使用的語言,以其 ISO 639-1 碼 表示(例如:「en」)。此選項僅在 Android 上受支援。 | 1.0.0 |
PluginListenerHandle
屬性 | 型別 |
---|---|
remove | () => Promise<void> |
ScreenReaderState
屬性 | 型別 | 描述 | 自 |
---|---|---|---|
value | boolean | 目前螢幕閱讀器是否處於啟用狀態。 | 1.0.0 |
型別別名
StateChangeListener
(state: ScreenReaderState): void