UNPKG

expo-video

Version:

A cross-platform, performant video component for React Native and Expo with Web support

69 lines 2.56 kB
import type { ReactNode } from 'react'; import { PureComponent } from 'react'; import type { VideoViewProps } from './VideoView.types'; /** * Returns whether the current device supports Picture in Picture (PiP) mode. * * > **Note:** All major web browsers support Picture in Picture (PiP) mode except Firefox. * > For more information, see [MDN web docs](https://developer.mozilla.org/en-US/docs/Web/API/Picture-in-Picture_API#browser_compatibility). * @returns A `boolean` which is `true` if the device supports PiP mode, and `false` otherwise. * @platform android * @platform ios * @platform web */ export declare function isPictureInPictureSupported(): boolean; export declare class VideoView extends PureComponent<VideoViewProps> { /** * A reference to the underlying native view. On web it is a reference to the HTMLVideoElement. */ nativeRef: import("react").RefObject<any>; /** * Enters fullscreen mode. */ enterFullscreen(): Promise<void>; /** * Exits fullscreen mode. * * > **Note:** On Android the JS runtime is paused when the `VideoView` is in fullscreen mode. Because of this `exitFullscreen` will only work when called from a native listener - see the example below. * * @example * ```tsx * const ref = useRef<VideoView>() * const player = useVideoPlayer(source) * * // This will work on all platforms * useEventListener(player, 'playToEnd', () => { * ref.current?.exitFullscreen(); * }); * * // This will not work on Android * const enterAndExit = useCallback(() => { * setTimeout(() => { * ref.current?.exitFullscreen() * }, 5000) * ref.current?.enterFullscreen() * },[]) * ``` */ exitFullscreen(): Promise<void>; /** * Enters Picture in Picture (PiP) mode. Throws an exception if the device does not support PiP. * > **Note:** Only one player can be in Picture in Picture (PiP) mode at a time. * * > **Note:** The `supportsPictureInPicture` property of the [config plugin](#configuration-in-app-config) * > has to be configured for the PiP to work. * @platform android * @platform ios * @platform web */ startPictureInPicture(): Promise<void>; /** * Exits Picture in Picture (PiP) mode. * @platform android * @platform ios * @platform web */ stopPictureInPicture(): Promise<void>; render(): ReactNode; } //# sourceMappingURL=VideoView.d.ts.map