简介
视频组件用于在表格列中展示视频内容,支持多种视频格式和播放控制选项。
用法示例
基础用法
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
]);
});
组件参数
| 参数名 | 类型 | 默认值 | 说明 |
|---|
| name | string | 必填 | 字段名称,对应数据库字段 |
| label | string | 必填 | 列标题,显示在表格头部 |
| option | callable|array | [] | 配置选项,可以是回调函数或数组 |
视频组件属性
| 属性名 | 类型 | 默认值 | 说明 |
|---|
| className | string | - | 外层 Dom 的类名 |
| src | string | - | 视频地址 |
| isLive | string | - | 是否为直播,视频为直播时需要添加上,支持flv和hls格式 |
| videoType | string | - | 指定直播视频格式 |
| poster | string | - | 视频封面地址 |
| muted | string | - | 是否静音 |
| loop | string | - | 是否循环播放 |
| autoPlay | string | - | 是否自动播放 |
| rates | string | - | 倍数,格式为[1.0, 1.5, 2.0] |
| frames | string | - | 时刻信息,key 是时刻信息,value 可以为空或设置为图片地址 |
| jumpBufferDuration | string | - | 点击帧时默认跳转到对应时刻,如想提前3秒可设置为3 |
| stopOnNextFrame | string | - | 到了下一帧默认是接着播放,配置这个会自动停止 |
| columnsCount | string | - | 帧的列数 |
| framesClassName | string | - | 帧的类名 |
| jumpFrame | string | - | 跳转帧 |
| splitPoster | string | - | 分割海报 |
| playerClassName | string | - | 播放器的类名 |
| aspectRatio | string | - | 视频的宽高比 |
使用场景
注意事项
- 视频地址必须是可访问的URL
- 建议设置封面图片(poster)提升用户体验
- 自动播放可能在某些浏览器中被限制
- 直播视频需要设置
isLive 和 videoType 参数