开发预览 更新于 2026-05-10

VideoPlayer 视频播放器

HTML5 video 之上的自定义控件栏:播放 / 进度 / 时长 / 音量 / 倍速 / 全屏;2 秒空闲自动隐藏;overlay 插槽放章节 / 水印。

基础用法

控件栏在播放后 2 秒无 pointer 移动自动淡出;任意 pointer 移动重新出现。点击视频本体切换 播放 / 暂停。captions{ src, label, srclang?, default? }[] 自动生成 WebVTT <track>

背景 视口
src/App.vue
<script setup lang="ts">
import { CfVideoPlayer } from '@chufix-design/vue';
</script>
<template>
  <CfVideoPlayer
    src="https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4"
    poster="https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/images/BigBuckBunny.jpg"
    aspect-ratio="16 / 9"
  />
</template>
<script setup>
import { CfVideoPlayer } from '@chufix-design/vue';
</script>
<template>
  <CfVideoPlayer
    src="https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4"
    poster="https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/images/BigBuckBunny.jpg"
    aspect-ratio="16 / 9"
  />
</template>
import { CfVideoPlayer } from '@chufix-design/react';

export default function Demo() {
  return (
    <>
      <CfVideoPlayer
      src="/clip.mp4"
      poster="/poster.jpg"
      aspectRatio="16 / 9"
      captions={[{ src: '/zh.vtt', label: '中文', srclang: 'zh', default: true }]}
      />
    </>
  );
}
import { CfVideoPlayer } from '@chufix-design/react';

export default function Demo() {
  return (
    <>
      <CfVideoPlayer
      src="/clip.mp4"
      poster="/poster.jpg"
      aspectRatio="16 / 9"
      captions={[{ src: '/zh.vtt', label: '中文', srclang: 'zh', default: true }]}
      />
    </>
  );
}

API

Props

属性类型默认说明
srcstring视频源
posterstring封面
aspectRatiostring'16 / 9'CSS aspect-ratio
autoplay / loop / mutedbooleanfalse原生属性
preload'auto' | 'metadata' | 'none''metadata'
captionsVideoCaption[]字幕轨
playbackRatesnumber[][0.5, 0.75, 1, 1.25, 1.5, 2]倍速菜单

Slots / overlay

Vue: <template #overlay> 渲染章节标题 / 水印 / 直播提示等;React: overlay prop。

Events

事件载荷说明
play / pause / ended
timeupdate(time, duration)
volumechange(volume, muted)
ratechangerate倍速变更

反馈与讨论

VideoPlayer 视频播放器 的讨论

0
0 / 600
正在加载评论...