布局:流体模式

点击下载教程相关资源

Video.js 有一种流体模式,可将播放器的大小保持在特定的宽高比上。

默认情况下,流体模式将使用视频加载后的固有尺寸,但您可以通过 class 或 aspectRatio 选项进行更改。

启用流体模式将禁用填充模式。如果两者都启用,则流体模式优先。

您可以通过以下几种方式启用流体模式:

  • 在播放器元素中添加 vjs-fluid、vjs-16-9 或 vjs-4-3 作为 class。

  • 将 fluid 选项传递给播放器。

  • 调用 player.fluid(true) 方法。

  • 将 aspectRatio(宽高比)选项传递给播放器。

  • 调用 player.aspectRatio('16:9') 方法。

Classes

流体模式有五个相关 class:vjs-fluid、vjs-16-9、vjs-4-3、vjs-9-16 和 vjs-1-1。

vjs-fluid 打开一般的流体模式,它会等待视频加载以计算视频的宽高比。

另外,由于 16:9、4:3、9:16 和 1:1 宽高比非常常见,如果您知道自己的视频是 16:9 或 4:3、9:16 或 1:1,我们默认将它们作为类别提供给您使用。

启用流体模式

你可以向播放器传递 fluid 选项或调用 player.fluid(true)。这将启用通用流体模式。

var player = videojs('vid1', {
  fluid: true
});

或者

var player = videojs('vid2');
player.fluid(true);

设置宽高比

如果您不想使用视频元素的固有值,或者您有特定的比例,可以指定一个宽高比供我们使用。它既可以作为方法调用,也可以作为播放器的一个选项。

该选项由两个整数组成,中间用冒号隔开,如 16:9 或 4:3。

// make a vertical video
var player = videojs('vid1', {
  aspectRatio: '9:16'
});

或者

var player = videojs('vid2');
// make a square video
player.aspectRatio('1:1');

禁用流体模式

您可以通过删除相关 class 或在方法中输入 false 来禁用流体模式。

player.fluid(false);

完整示例

该示例将演示流体模式,当我们改变浏览器大小时,播放器将会自动适应宽度。如下:

<html>
  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Video.js</title>
    <!-- 引入 Video.js 样式 -->
    <link href="https://vjs.zencdn.net/8.10.0/video-js.css" rel="stylesheet" />
    <!-- 如果您想支持 IE8(适用于 v7 之前的 Video.js 版本) -->
    <!-- <script src="https://vjs.zencdn.net/ie8/1.1.2/videojs-ie8.min.js"></script> -->
  </head>
  <body>
    <div id="container">
      <video id="vid1"
        data-setup='{"preload":"auto","controls":true,"width":"640","height":"264px",
        "poster":"../resources/oceans.jpg"}'>
        <source src="../resources/oceans.mp4" type="video/mp4" />
        <source src="../resources/oceans.webm" type="video/webm" />
      </video>
    </div>

    <!-- 引入 Video.js 库 -->
    <script src="https://vjs.zencdn.net/8.10.0/video.min.js"></script>
    <script>
      let player = videojs('vid1');
      player.fluid(true);
    </script>
  </body>
</html>

运行示例,效果图:

布局(layout):流体模式

说说我的看法
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号