VideoPlayer

用于播放视频。

设计文档(新窗口打开)

代码演示

如何引入

import { VideoPlayer } from '@chenzy-design/svelte';

基本用法

基本使用,通过 src 传入视频地址,通过 poster 传入视频封面地址。

poster
00:00 / 00:00
1.0x

设置菜单栏功能

通过 controlsList 设置菜单栏的展示项,该项接受值为数组,默认值为 ['play', 'next', 'time', 'volume', 'playbackRate', 'quality', 'route', 'mirror', 'fullscreen', 'pictureInPicture']。

poster
00:00 / 00:00
1.0x

循环播放

通过 loop 设置循环播放。

poster
00:00 / 00:00
1.0x

快进快退

通过 seekTime 设置快进快退时间,通过键盘左右键执行快进快退。

请选择快进快退时间
poster
00:00 / 00:00
1.0x

播放速率

通过 playbackRateList 设置速率选择列表。

poster
00:00 / 00:00
1.0x

音量设置

通过 volume 设置初始音量,值区间为 0 - 100,设置 muted 为 true 可以静音播放。

poster
00:00 / 00:00
1.0x

清晰度切换

通过 qualityList 设置清晰度选择列表,defaultQuality 设置初始选择的清晰度,onQualityChange 设置点击后更新的 src 逻辑。

线路切换同理,通过 routeList 设置线路选择列表,defaultRoute 设置初始选择的线路,onRouteChange 设置点击后更新的 src 逻辑。

poster
00:00 / 00:00
1.0x
1080p

章节标记

通过 markers 设置章节标记点。

poster
00:00 / 00:00
1.0x

主题

通过 theme 设置主题,主题仅影响背景色。

poster
00:00 / 00:00
1.0x

使用 ref 控制

通过 videoRef 获取原生 video 元素,可以实现更灵活的控制,例如多个视频同步播放/暂停。

Semi 该 prop 名为 forwardRef(React ref 转发);Svelte 无 ref 转发概念,本库改为 videoRef 回调,在 video 元素挂载时回传原生元素。

poster
00:00 / 00:00
1.0x
poster
00:00 / 00:00
1.0x

无资源态

不传 src 时展示无资源提示。

暂无资源
00:00 / 00:00
1.0x

暂无资源
00:00 / 00:00
1.0x

API

属性说明类型默认值
autoPlay是否自动播放booleanfalse
captionsSrc字幕资源string-
class类名string-
clickToPlay是否启用点击以播放booleantrue
controlsList设置菜单栏展示控件,默认展示所有控件string[]['play', 'next', 'time', 'volume', 'playbackRate', 'quality', 'route', 'mirror', 'fullscreen', 'pictureInPicture']
crossOrigin指明是否使用 CORS 来获取相关视频。允许 CORS 的资源可在 canvas 元素中被重用,而不会被污染'anonymous' \| 'use-credentials'-
defaultPlaybackRate默认倍率number1
defaultQuality默认视频清晰度string-
defaultRoute默认线路string-
height高度string \| number-
loop是否启用循环播放booleanfalse
markers节点标记Marker[]-
muted是否静音播放booleanfalse
onPause暂停回调() => void-
onPlay播放回调() => void-
onQualityChange切换清晰度回调(quality: string) => void-
onRateChange切换速率回调(rate: number) => void-
onRouteChange切换线路回调(route: string) => void-
onVolumeChange调整音量回调(volume: number) => void-
playbackRateList速率列表,默认展示 5 种播放速率,分别为 0.75、1.0、1.25、1.5 和 2.0Array<{ label: string; value: number }>-
poster封面图string-
qualityList清晰度列表Array<{ label: string; value: string }>-
routeList线路列表Array<{ label: string; value: string }>-
seekTime快进快退时间number10
src视频播放地址string-
style样式string-
theme主题设置,不同主题组件的背景色不同'dark' \| 'light'dark
videoRef原生 video 元素挂载时回传(对应 Semi 的 forwardRef)(el: HTMLVideoElement) => void-
volume默认音量number100
width宽度string \| number-

Marker

属性说明类型默认值
start起始时间点number-
title标题string-