Interface: WebVideoPlayer
Defined in: types/WebVideoPlayer.ts:20
Experimental
Extended VideoPlayer interface with web-only methods. Use this type when you need access to audio/video track APIs on web.
Audio/video tracks have ~16% browser support (Safari only, behind flags in Chrome/Firefox). These methods return empty arrays on unsupported browsers.
Example
import { useVideoPlayer, type WebVideoPlayer } from 'react-native-video';
const player = useVideoPlayer(source) as WebVideoPlayer;
const audioTracks = player.getAvailableAudioTracks();
Extends
VideoPlayerBase
Properties
currentTime
currentTime: number;
Defined in: types/VideoPlayerBase.ts:44
Experimental
The duration of the video in seconds (1.0 = 1 sec). Returns NaN if the duration is not available.
Inherited from
VideoPlayerBase.currentTime
disableAudioSessionManagement
disableAudioSessionManagement: boolean;
Defined in: types/VideoPlayerBase.ts:113
Experimental
Disables the internal audio session management for this player. When disabled, react-native-video will not configure or activate the AVAudioSession, allowing other libraries (like audio recording libraries) to manage it.
Default
false
Platform
iOS
Inherited from
VideoPlayerBase.disableAudioSessionManagement
duration
readonly duration: number;
Defined in: types/VideoPlayerBase.ts:32
Experimental
The current time of the video in seconds (1.0 = 1 sec). Returns NaN if the current time is not available.
Inherited from
VideoPlayerBase.duration
ignoreSilentSwitchMode
ignoreSilentSwitchMode: IgnoreSilentSwitchMode;
Defined in: types/VideoPlayerBase.ts:82
Experimental
Controls the silent switch mode of the player.
Note
This is only supported on iOS.
auto- uses default behavior for player.ignore- ignore the silent switch.obey- obey the silent switch.
Inherited from
VideoPlayerBase.ignoreSilentSwitchMode
isPlaying
readonly isPlaying: boolean;
Defined in: types/VideoPlayerBase.ts:120
Experimental
Whether the player is playing.
Note
This is a read-only property.
Note
To pause/resume the player, you need to use play and pause methods.
Inherited from
VideoPlayerBase.isPlaying
loop
loop: boolean;
Defined in: types/VideoPlayerBase.ts:54
Experimental
Whether the player is looped.
Inherited from
VideoPlayerBase.loop
mixAudioMode
mixAudioMode: MixAudioMode;
Defined in: types/VideoPlayerBase.ts:72
Experimental
Controls the audio mixing mode of the player.
mixWithOthers- Mix with other players.doNotMix- Do not mix with other players.duckOthers- Duck other players.auto- uses default behavior for player.
default is auto.
Inherited from
VideoPlayerBase.mixAudioMode
muted
muted: boolean;
Defined in: types/VideoPlayerBase.ts:49
Experimental
Whether the player is muted.
Inherited from
VideoPlayerBase.muted
playInBackground
playInBackground: boolean;
Defined in: types/VideoPlayerBase.ts:92
Experimental
Whether the player should play in background.
true- play in background.false- pause in background (default).
Note
this can override playWhenInactive.
Inherited from
VideoPlayerBase.playInBackground
playWhenInactive
playWhenInactive: boolean;
Defined in: types/VideoPlayerBase.ts:103
Experimental
Whether the player should play when the app is inactive (user opened control center).
true- play when the app is inactive.false- pause when the app is inactive (default).
Note
this can be overridden by playInBackground.
Note
This is only supported on iOS.
Inherited from
VideoPlayerBase.playWhenInactive
rate
rate: number;
Defined in: types/VideoPlayerBase.ts:60
Experimental
Controls the speed at which the player should play.
Note
if rate is = 0, it will pause video.
Inherited from
VideoPlayerBase.rate
selectedAudioTrack?
readonly optional selectedAudioTrack?: AudioTrack;
Defined in: types/WebVideoPlayer.ts:23
Experimental
selectedTrack?
readonly optional selectedTrack?: TextTrack;
Defined in: types/VideoPlayerBase.ts:186
Experimental
Get the currently selected text track.
Returns
The currently selected text track, or undefined if none is selected
Inherited from
VideoPlayerBase.selectedTrack
selectedVideoTrack?
readonly optional selectedVideoTrack?: VideoTrack;
Defined in: types/WebVideoPlayer.ts:27
Experimental
showNotificationControls
showNotificationControls: boolean;
Defined in: types/VideoPlayerBase.ts:191
Experimental
Whether to show notification controls (lock screen / control center).
Inherited from
VideoPlayerBase.showNotificationControls
source
readonly source: VideoPlayerSourceBase;
Defined in: types/VideoPlayerBase.ts:17
Experimental
The source of the video. Source is immutable. To change the source, you need to call replaceSourceAsync method. see VideoPlayerSourceBase
Inherited from
VideoPlayerBase.source
status
readonly status: VideoPlayerStatus;
Defined in: types/VideoPlayerBase.ts:26
Experimental
The status of the player.
Param
The player is idle (source is not loaded)
Param
The player is loading.
Param
The player is ready to play (source is loaded).
Param
The player has an error.
Inherited from
VideoPlayerBase.status
volume
volume: number;
Defined in: types/VideoPlayerBase.ts:38
Experimental
The volume of the video (0.0 = 0%, 1.0 = 100%).
Note
If the player is muted, the volume will be 0.0.
Inherited from
VideoPlayerBase.volume
Methods
addEventListener()
addEventListener<Event>(event, callback): ListenerSubscription;
Defined in: types/VideoPlayerBase.ts:198
Experimental
Type Parameters
| Type Parameter |
|---|
Event extends keyof VideoPlayerEvents | "onError" |
Parameters
| Parameter | Type |
|---|---|
event | Event |
callback | AllPlayerEvents[Event] |
Returns
ListenerSubscription
Inherited from
VideoPlayerBase.addEventListener
getAvailableAudioTracks()
getAvailableAudioTracks(): AudioTrack[];
Defined in: types/WebVideoPlayer.ts:21
Experimental
Returns
getAvailableTextTracks()
getAvailableTextTracks(): TextTrack[];
Defined in: types/VideoPlayerBase.ts:174
Experimental
Get all available text tracks for the current source.
Returns
Array of available text tracks
Inherited from
VideoPlayerBase.getAvailableTextTracks
getAvailableVideoTracks()
getAvailableVideoTracks(): VideoTrack[];
Defined in: types/WebVideoPlayer.ts:25
Experimental
Returns
initialize()
initialize(): Promise<void>;
Defined in: types/VideoPlayerBase.ts:125
Experimental
Manually initialize the player. You don't need to call this method manually, unless you set initializeOnCreation to false in VideoConfig
Returns
Promise<void>
Inherited from
VideoPlayerBase.initialize
pause()
pause(): void;
Defined in: types/VideoPlayerBase.ts:142
Experimental
Pause playback of player.
Returns
void
Inherited from
VideoPlayerBase.pause
play()
play(): void;
Defined in: types/VideoPlayerBase.ts:137
Experimental
Start playback of player.
Returns
void
Inherited from
VideoPlayerBase.play
preload()
preload(): Promise<void>;
Defined in: types/VideoPlayerBase.ts:132
Experimental
Preload the video. This is useful to avoid delay when the user plays the video. Preloading too many videos can lead to memory issues or performance issues.
Returns
Promise<void>
Inherited from
VideoPlayerBase.preload
release()
release(): void;
Defined in: types/VideoPlayerBase.ts:196
Experimental
Releases the player's resources. After calling this, the player is no longer usable.
Returns
void
Inherited from
VideoPlayerBase.release
replaceSourceAsync()
replaceSourceAsync(source): Promise<void>;
Defined in: types/VideoPlayerBase.ts:166
Experimental
Replace the current source of the player.
Parameters
| Parameter | Type | Description |
|---|---|---|
source | | VideoSource | VideoConfig | VideoPlayerSourceBase | null | The new source of the video. |
Returns
Promise<void>
Note
If you want to clear the source, you can pass null. see VideoPlayerSourceBase
Inherited from
VideoPlayerBase.replaceSourceAsync
seekBy()
seekBy(time): void;
Defined in: types/VideoPlayerBase.ts:150
Experimental
Seek by given time. If the time is negative, it will seek backward. time will be clamped if it is out of range (0 ~ duration).
Parameters
| Parameter | Type | Description |
|---|---|---|
time | number | The time to seek from current time in seconds. |
Returns
void
Inherited from
VideoPlayerBase.seekBy
seekTo()
seekTo(time): void;
Defined in: types/VideoPlayerBase.ts:158
Experimental
Seek to a specific time in the video.
Parameters
| Parameter | Type | Description |
|---|---|---|
time | number | The time to seek to in seconds. |
Returns
void
Note
This have same effect as currentTime setter.
Note
time will be clamped if it is out of range (0 ~ duration).
Inherited from
VideoPlayerBase.seekTo
selectAudioTrack()
selectAudioTrack(track): void;
Defined in: types/WebVideoPlayer.ts:22
Experimental
Parameters
| Parameter | Type |
|---|---|
track | AudioTrack | null |
Returns
void
selectTextTrack()
selectTextTrack(textTrack): void;
Defined in: types/VideoPlayerBase.ts:180
Experimental
Select a text track to display.
Parameters
| Parameter | Type | Description |
|---|---|---|
textTrack | TextTrack | null | Text track to select, or null to unselect current track |
Returns
void
Inherited from
VideoPlayerBase.selectTextTrack
selectVideoTrack()
selectVideoTrack(track): void;
Defined in: types/WebVideoPlayer.ts:26
Experimental
Parameters
| Parameter | Type |
|---|---|
track | VideoTrack | null |
Returns
void