UNPKG

react-native-youtube-bridge

Version:

🎥 Easy-to-use YouTube player for React Native with cross-platform support

46 lines • 2.11 kB
import type { EventCallback, YoutubePlayerEvents } from '@react-native-youtube-bridge/core'; import type YoutubePlayer from '../modules/YoutubePlayer'; /** * @param player - The Youtube player instance. * @param eventType - The type of event to subscribe to. `progress` event is not supported. * @param defaultValue - The default value to return if the event is not triggered. * @returns The event data. * @example * ```ts * const player = useYouTubePlayer('AbZH7XWDW_k'); * const playbackRate = useYouTubeEvent(player, 'playbackRateChange', 1); * ``` */ declare function useYouTubeEvent<T extends Exclude<keyof YoutubePlayerEvents, 'progress'>>(player: YoutubePlayer, eventType: T, defaultValue?: YoutubePlayerEvents[T]): YoutubePlayerEvents[T] | null; /** * @param player - The Youtube player instance. * @param eventType - The type of event to subscribe to. * @param callback - The callback to call when the event is triggered. * @param deps - The dependencies to watch for changes. * @returns void * @example * ```ts * const player = useYouTubePlayer('AbZH7XWDW_k'); * useYouTubeEvent(player, 'ready', (playerInfo) => { * console.log('Player is ready!'); * console.log('rates', playerInfo.availablePlaybackRates); * console.log('vol', playerInfo.volume); * console.log('muted', playerInfo.muted); * }); * ``` */ declare function useYouTubeEvent<T extends keyof YoutubePlayerEvents>(player: YoutubePlayer, eventType: T, callback: EventCallback<YoutubePlayerEvents[T]>, deps?: React.DependencyList): void; /** * @param player - The Youtube player instance. * @param eventType - `progress` event only. * @param throttleMs - The throttle time in milliseconds (default 1000ms). * @returns The event data. * @example * ```ts * const player = useYouTubePlayer('AbZH7XWDW_k'); * const progress = useYouTubeEvent(player, 'progress', 1000); * ``` */ declare function useYouTubeEvent(player: YoutubePlayer, eventType: 'progress', throttleMs?: number): YoutubePlayerEvents['progress'] | null; export default useYouTubeEvent; //# sourceMappingURL=useYouTubeEvent.d.ts.map