On iOS, this displays the video in a fullscreen view controller with controls.
On Android, this puts the navigation controls in fullscreen mode. It is not a complete fullscreen implementation, so you will still need to apply a style that makes the width and height match your screen dimensions to get a fullscreen video.
Platforms: Android, iOS
### `pause`
`pause(): Promise<void>`
Pause the video.
Platforms: Android, iOS
### `play`
`play(): Promise<void>`
Play the video.
Platforms: Android, iOS
### `save`
`save(): Promise<{ uri: string }>`
Save video to your Photos with current filter prop. Returns promise.
Notes:
- Currently only supports highest quality export
- Currently only supports MP4 export
- Currently only supports exporting to user's cache directory with a generated UUID filename.
- User will need to remove the saved video through their Photos app
- Works with cached videos as well. (Checkout video-caching example)
- If the video is has not began buffering (e.g. there is no internet connection) then the save function will throw an error.
- If the video is buffering then the save function promise will return after the video has finished buffering and processing.
Future:
- Will support multiple qualities through options
- Will support more formats in the future through options
- Will support custom directory and file name through options
This function corresponds to the completion handler in Apple's [restoreUserInterfaceForPictureInPictureStop](https://developer.apple.com/documentation/avkit/avpictureinpicturecontrollerdelegate/1614703-pictureinpicturecontroller?language=objc). IMPORTANT: This function must be called after `onRestoreUserInterfaceForPictureInPictureStop` is called.
Platforms: iOS
### `seek`
`seek(seconds)`
Seek to the specified position represented by seconds. seconds is a float value.
`seek()` can only be called after the `onLoad` event has fired. Once completed, the [onSeek](#onseek) event will be called.
Platforms: all
#### Exact seek
By default iOS seeks within 100 milliseconds of the target position. If you need more accuracy, you can use the seek with tolerance method:
`seek(seconds, tolerance)`
tolerance is the max distance in milliseconds from the seconds position that's allowed. Using a more exact tolerance can cause seeks to take longer. If you want to seek exactly, set tolerance to 0.
Platforms: iOS
### Example Usage
```tsx
const videoRef = useRef<VideoRef>(null);
const someCoolFunctions = async () => {
if(!videoRef.current) {
return;
}
// present or dismiss fullscreen player
videoRef.current.presentFullscreenPlayer();
videoRef.current.dismissFullscreenPlayer();
// pause or play the video
videoRef.current.play();
videoRef.current.pause();
// save video to your Photos with current filter prop
const response = await videoRef.current.save();
const path = response.uri;
// seek to the specified position represented by seconds