视频组件

简介

视频组件用于在表格列中展示视频内容,支持多种视频格式和播放控制选项。

用法示例

基础用法

use plugin\xbCode\builder\Builder;

// 创建表格
Builder::crud(function($builder) {
  // 添加视频列
  $builder->addColumnVideo('video_url', '视频');
});

自定义配置

Builder::crud(function($builder) {
  // 使用回调函数自定义配置
  $builder->addColumnVideo('video_url', '视频', function($component) {
    $component->poster('https://example.com/poster.jpg'); // 设置封面
    $component->autoPlay(false); // 禁用自动播放
    $component->loop(true); // 循环播放
    $component->width(400);
  });
  
  // 使用数组方式配置
  $builder->addColumnVideo('video_url', '演示视频', [
    'poster' => 'https://example.com/cover.jpg',
    'muted' => true,
    'width' => 300
  ]);
});

组件参数

参数名类型默认值说明
namestring必填字段名称,对应数据库字段
labelstring必填列标题,显示在表格头部
optioncallable|array[]配置选项,可以是回调函数或数组

视频组件属性

属性名类型默认值说明
classNamestring-外层 Dom 的类名
srcstring-视频地址
isLivestring-是否为直播,视频为直播时需要添加上,支持flv和hls格式
videoTypestring-指定直播视频格式
posterstring-视频封面地址
mutedstring-是否静音
loopstring-是否循环播放
autoPlaystring-是否自动播放
ratesstring-倍数,格式为[1.0, 1.5, 2.0]
framesstring-时刻信息,key 是时刻信息,value 可以为空或设置为图片地址
jumpBufferDurationstring-点击帧时默认跳转到对应时刻,如想提前3秒可设置为3
stopOnNextFramestring-到了下一帧默认是接着播放,配置这个会自动停止
columnsCountstring-帧的列数
framesClassNamestring-帧的类名
jumpFramestring-跳转帧
splitPosterstring-分割海报
playerClassNamestring-播放器的类名
aspectRatiostring-视频的宽高比

使用场景

  • 视频教程展示
  • 产品演示视频
  • 监控录像回放
  • 直播流展示

注意事项

  1. 视频地址必须是可访问的URL
  2. 建议设置封面图片(poster)提升用户体验
  3. 自动播放可能在某些浏览器中被限制
  4. 直播视频需要设置 isLivevideoType 参数