@applicaster/zapp-react-native-utils
Version:
Applicaster Zapp React Native utilities package
27 lines (23 loc) • 976 B
text/typescript
import * as React from "react";
import { usePlayer } from "@applicaster/zapp-react-native-utils/appUtils/playerManager/usePlayer";
import {
useAccessibilityManager,
useAccessibilityState,
} from "@applicaster/zapp-react-native-utils/appUtils/accessibilityManager/hooks";
import { PlayerTTS } from "@applicaster/zapp-react-native-utils/playerUtils/PlayerTTS";
export const usePlayerTTS = () => {
const player = usePlayer();
const accessibilityManager = useAccessibilityManager({});
const accessibilityState = useAccessibilityState();
const isScreenReaderEnabled = accessibilityState.screenReaderEnabled;
React.useEffect(() => {
if (player && accessibilityManager && isScreenReaderEnabled) {
const playerTTS = new PlayerTTS(player, accessibilityManager);
const unsubscribe = playerTTS.init();
return () => {
unsubscribe();
playerTTS.destroy();
};
}
}, [player, accessibilityManager, isScreenReaderEnabled]);
};