amazon-ivs-react-native-player
Version:
amazon-ivs-react-native-player
143 lines • 4.36 kB
TypeScript
import { type HostComponent, type ViewProps } from 'react-native';
import type { DirectEventHandler, Double, Int32 } from 'react-native/Libraries/Types/CodegenTypes';
type Quality = {
name: string;
codecs: string;
bitrate: Int32;
framerate: Double;
width: Int32;
height: Int32;
};
export interface NativeProps extends ViewProps {
muted?: boolean;
loop?: boolean;
streamUrl?: string;
liveLowLatency?: boolean;
rebufferToLive?: boolean;
playbackRate?: Double;
logLevel?: Int32;
resizeMode?: string;
volume?: Double;
quality?: {
target: Quality | null;
adaptive?: boolean;
};
autoMaxQuality?: Quality | null;
autoQualityMode?: boolean;
breakpoints?: Int32[];
maxBitrate?: Int32;
initialBufferDuration?: Double;
pipEnabled?: boolean;
progressInterval?: Double;
maxVideoSize?: {
size: {
width: Int32;
height: Int32;
};
};
networkRecoveryMode?: string;
playInBackground?: boolean;
notificationTitle?: string;
notificationText?: string;
onLoadStart?: DirectEventHandler<{}>;
onVideoStatistics?: DirectEventHandler<{
videoData: {
bitrate: Int32;
duration: Int32 | null;
framesDecoded?: Int32 | null;
framesDropped?: Int32 | null;
};
}>;
onData?: DirectEventHandler<{
playerData: {
version: string;
sessionId: string;
qualities: {
name: string;
codecs: string;
bitrate: Int32;
framerate: Double;
width: Int32;
height: Int32;
}[];
};
}>;
onSeek?: DirectEventHandler<{
position: Double;
}>;
onQualityChange?: DirectEventHandler<{
quality: {
name: string;
codecs: string;
bitrate: Int32;
framerate: Double;
width: Int32;
height: Int32;
};
}>;
onProgress?: DirectEventHandler<{
position: Double;
}>;
onPipChange?: DirectEventHandler<{
active: boolean;
}>;
onPlayerStateChange?: DirectEventHandler<{
state: string;
}>;
onDurationChange?: DirectEventHandler<{
duration: Double;
}>;
onError?: DirectEventHandler<{
error: string;
}>;
onTextCue?: DirectEventHandler<{
textCue: {
type: string;
line: Double;
size: Double;
position: Double;
text: string;
textAlignment: string;
};
}>;
onLiveLatencyChange?: DirectEventHandler<{
liveLatency?: Int32;
}>;
onTextMetadataCue?: DirectEventHandler<{
textMetadataCue: {
type: string;
text: string;
textDescription: string;
};
}>;
onLoad?: DirectEventHandler<{
duration?: Double;
}>;
onRebuffering?: DirectEventHandler<{}>;
onTimePoint?: DirectEventHandler<{
position?: Double;
}>;
onVideoSizeChange?: DirectEventHandler<{
size: {
width: Int32;
height: Int32;
};
}>;
onSeekComplete?: DirectEventHandler<{
success: boolean;
}>;
}
interface NativeCommands {
preload: (viewRef: React.ElementRef<HostComponent<NativeProps>>, url: string, sourceId: Int32) => void;
loadSource: (viewRef: React.ElementRef<HostComponent<NativeProps>>, sourceId: Int32) => void;
releaseSource: (viewRef: React.ElementRef<HostComponent<NativeProps>>, sourceId: Int32) => void;
play: (viewRef: React.ElementRef<HostComponent<NativeProps>>) => void;
pause: (viewRef: React.ElementRef<HostComponent<NativeProps>>) => void;
seekTo: (viewRef: React.ElementRef<HostComponent<NativeProps>>, value: Double) => void;
setOrigin: (viewRef: React.ElementRef<HostComponent<NativeProps>>, value: string) => void;
togglePip: (viewRef: React.ElementRef<HostComponent<NativeProps>>) => void;
}
export declare const Commands: NativeCommands;
declare const _default: import("react-native/types_generated/Libraries/Utilities/codegenNativeComponent").NativeComponentType<NativeProps>;
export default _default;
//# sourceMappingURL=AmazonIvsViewNativeComponent.d.ts.map