UNPKG

saven

Version:
170 lines (141 loc) 3.28 kB
import { ComponentType } from 'react' import { StandardProps, BaseEventFunction } from './common' interface VideoProps extends StandardProps { /** * 要播放视频的资源地址 */ src: string, /** * 指定视频初始播放位置 */ initialTime?: number, /** * 指定视频时长 */ duration?: number, /** * 是否显示默认播放控件(播放/暂停按钮、播放进度、时间) * * 默认值:`true` */ controls?: boolean, /** * 弹幕列表 */ danmuList?: any[], /** * 是否显示弹幕按钮,只在初始化时有效,不能动态变更 * * 默认值:`false` */ danmuBtn?: boolean, /** * 是否展示弹幕,只在初始化时有效,不能动态变更 * * 默认值:`false` */ enableDanmu?: boolean, /** * 是否自动播放 * * 默认值:`false` */ autoplay?: boolean, /** * 是否循环播放 * * 默认值:`false` */ loop?: boolean, /** * 是否静音播放 * * 默认值:`false` */ muted?: boolean, /** * 在非全屏模式下,是否开启亮度与音量调节手势 * * 默认值:`false` */ pageGesture?: boolean, /** * 设置全屏时视频的方向,不指定则根据宽高比自动判断。有效值为 0(正常竖向), 90(屏幕逆时针90度), -90(屏幕顺时针90度) */ direction?: number, /** * 若不设置,宽度大于240时才会显示 * * 默认值:`true` */ showProgress?: boolean, /** * 是否显示全屏按钮 * * 默认值:`true` */ showFullscreenBtn?: boolean, /** * 是否显示视频底部控制栏的播放按钮 * * 默认值:`true` */ showPlayBtn?: boolean, /** * 是否显示视频中间的播放按钮 * * 默认值:`true` */ showCenterPlayBtn?: boolean, /** * 是否开启控制进度的手势 * * 默认值:`true` */ enableProgressGesture?: boolean, /** * 当视频大小与 video 容器大小不一致时,视频的表现形式。 * * `contain`:包含,`fill`:填充,`cover`:覆盖 * * 默认值:`contain` */ objectFit?: 'contain' | 'fill' | 'cover', /** * 视频封面的图片网络资源地址,如果 controls 属性值为 false 则设置 poster 无效 */ poster?: string, /** * 当开始/继续播放时触发play事件 */ onPlay?: BaseEventFunction, /** * 当暂停播放时触发 pause 事件 */ onPause?: BaseEventFunction, /** * 当播放到末尾时触发 ended 事件 */ onEnded?: BaseEventFunction, /** * 播放进度变化时触发, 触发频率 250ms 一次 * * event.detail = {currentTime, duration} */ onTimeUpdate?: BaseEventFunction, /** * 当视频进入和退出全屏是触发 * * event.detail = {fullScreen, direction},direction取为 vertical 或 horizontal */ onFullscreenChange?: BaseEventFunction, /** * 当视频进入和退出全屏是触发 * * event.detail = {fullScreen, direction},direction取为 vertical 或 horizontal */ onWaiting?: BaseEventFunction, onError?: BaseEventFunction } declare const Video: ComponentType<VideoProps> export { Video }