VideoPlayer
A general purpose, full screen streaming media player supporting a wide range of video formats on Kepler with standard UI controls which support the following interactions:
- Play/pause button
- Skip back 10 seconds, skip forward 10 seconds button
- Seek bar displays time elapsed and total time, allowing the user to seek to a desired point by dragging the seek bar thumb
- Detects error conditions and presents user-friendly error screen
- App can register callback for error conditions
Additional capabilities planned:
- onStateChange callback
- Partial screen playback / mini-player
- Shows loading indicators during initialization and seek operations
Example
import {VideoPlayer} from '@amzn/react-native-kepler/Libraries/VideoPlayer/VideoPlayer';
import React from 'react';
import {
    View
} from 'react-native';
const App = () => {
    const videoUrl = 'http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ElephantsDream.mp4';
    return (
        <View style={{flex: 1}}>
            <VideoPlayer videoUrl={videoUrl}
                onError={errorCode => {
                    console.debug(`App got error code ${errorCode}`);
                }}
             />
        </View>
    )
}
export default App;
Reference
Props
videoUrl
Specifies the video url or absolute file path to play. Resource may be of any type supported by underling media player framework, currently including MP4 and HLS.
| Type | Required | 
|---|---|
| string | Yes | 
onStateChange
Specify a function to call back when VideoPlayer state changes. Function has one parameter, the numeric state id to provide current state of video player.
| Type | Required | 
|---|---|
| function | No | 
onError
Specify a function to call back when errors occur. Function has one parameter, the numeric error code that has been forwarded from the underlying media player framework.
| Type | Required | 
|---|---|
| function | No | 
showControls
Specifies the behavior of the video controls.
Possible values:
- DEFAULTControls automatically hide at begin but reappear based on Touch/DPaD,
- AUTO_HIDEControls automatically show at begin and hide after 5 seconds,
- ALWAYS_SHOWNControls are always visible,
- NEVER_SHOWNControls are never shown.
| Type | Default | Required | 
|---|---|---|
| enum( 'DEFAULT', 'AUTO_HIDE', 'ALWAYS_SHOWN', 'NEVER_SHOWN') | DEFAULT | no | 
Last updated: Sep 30, 2025

