HTML5 视频 Vedio 标签详解

HTML5 引入了 <video> 标签,允许开发者在网页中直接嵌入视频文件,而不需要依赖第三方插件。本文将全面介绍 <video> 标签的各种属性,并通过实例代码详细说明其用法。

一、基础用法

1. 基本结构

HTML5 中使用 <video> 标签嵌入视频文件,最简单的形式如下:

html 复制代码
<video src="video-file.mp4" controls></video>

在这个示例中,src 属性指定视频文件的路径,controls 属性使浏览器显示视频控件。

2. 示例代码

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>HTML5 Video Example</title>
</head>
<body>
    <h1>HTML5 Video Example</h1>
    <video src="video-file.mp4" controls>
        Your browser does not support the video element.
    </video>
</body>
</html>

这段代码将在网页上显示一个视频播放器,如果浏览器不支持 <video> 标签,将显示替代文本 "Your browser does not support the video element."。

二、属性详解

1. src

指定视频文件的 URL,可以是相对路径或绝对路径。

html 复制代码
<video src="path/to/your-video-file.mp4" controls></video>

2. controls

显示视频控件(播放、暂停、音量、全屏等)。

html 复制代码
<video src="video-file.mp4" controls></video>

3. autoplay

视频文件在页面加载完成后自动播放。需要注意的是,为了用户体验,很多浏览器默认禁止自动播放,特别是移动设备。

html 复制代码
<video src="video-file.mp4" controls autoplay></video>

4. loop

视频文件播放结束后自动重新播放。

html 复制代码
<video src="video-file.mp4" controls loop></video>

5. muted

初始加载时将视频设置为静音。

html 复制代码
<video src="video-file.mp4" controls muted></video>

6. preload

提示浏览器在页面加载时如何处理视频文件。可能的值有:

  • none:不预加载视频文件。
  • metadata:只预加载视频文件的元数据。
  • auto:浏览器选择最佳方式预加载视频文件。
html 复制代码
<video src="video-file.mp4" controls preload="auto"></video>

7. widthheight

设置视频播放器的宽度和高度(以像素为单位)。

html 复制代码
<video src="video-file.mp4" controls width="640" height="360"></video>

8. poster

在视频播放之前显示的预览图像(封面图)。

html 复制代码
<video src="video-file.mp4" controls poster="poster-image.jpg"></video>

9. crossorigin

控制跨域资源共享 (CORS),允许你配置是否可以加载跨域资源。

  • anonymous:不使用凭据。
  • use-credentials:使用凭据(如 Cookies)。
html 复制代码
<video src="video-file.mp4" controls crossorigin="anonymous"></video>

三、支持多种视频格式

由于不同浏览器对视频格式的支持不同,通常需要提供多种格式的视频文件,以确保兼容性。可以使用多个 <source> 标签来定义不同格式的视频文件。

html 复制代码
<video controls width="640" height="360" poster="poster-image.jpg">
    <source src="video-file.mp4" type="video/mp4">
    <source src="video-file.webm" type="video/webm">
    <source src="video-file.ogv" type="video/ogg">
    Your browser does not support the video element.
</video>

示例代码

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>HTML5 Video Example with Multiple Formats</title>
</head>
<body>
    <h1>HTML5 Video Example with Multiple Formats</h1>
    <video controls width="640" height="360" poster="poster-image.jpg">
        <source src="video-file.mp4" type="video/mp4">
        <source src="video-file.webm" type="video/webm">
        <source src="video-file.ogv" type="video/ogg">
        Your browser does not support the video element.
    </video>
</body>
</html>

四、使用 JavaScript 控制视频

HTML5 提供了丰富的 JavaScript API,可以用来控制视频播放。以下是一些常用的属性和方法:

1. 常用属性

  • video.currentTime:获取或设置当前播放时间(秒)。
  • video.duration:获取视频总时长(秒)。
  • video.paused:返回视频是否暂停。
  • video.volume:获取或设置音量(0.0 到 1.0)。
  • video.playbackRate:获取或设置播放速度。

2. 常用方法

  • video.play():播放视频。
  • video.pause():暂停视频。
  • video.load():重新加载视频文件。
  • video.requestFullscreen():全屏播放视频(需要浏览器支持)。

示例代码

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>HTML5 Video Control with JavaScript</title>
</head>
<body>
    <h1>Control HTML5 Video with JavaScript</h1>
    <video id="myVideo" src="video-file.mp4" controls width="640" height="360"></video>
    <br>
    <button onclick="playVideo()">Play</button>
    <button onclick="pauseVideo()">Pause</button>
    <button onclick="stopVideo()">Stop</button>
    <button onclick="muteVideo()">Mute/Unmute</button>

    <script>
        var video = document.getElementById('myVideo');

        function playVideo() {
            video.play();
        }

        function pauseVideo() {
            video.pause();
        }

        function stopVideo() {
            video.pause();
            video.currentTime = 0; // Reset playback position to the start
        }

        function muteVideo() {
            video.muted = !video.muted; // Toggle mute
        }
    </script>
</body>
</html>

在这个示例中,我们通过 JavaScript 控制视频的播放、暂停、停止和静音。video.pause() 方法用于暂停视频,video.currentTime = 0 将播放位置重置到开始。

五、使用 <track> 标签添加字幕

HTML5 提供了 <track> 标签,可以用来为视频添加字幕、章节标题、描述等。以下是一个添加字幕的示例:

示例代码

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>HTML5 Video with Subtitles</title>
</head>
<body>
    <h1>HTML5 Video with Subtitles</h1>
    <video controls width="640" height="360">
        <source src="video-file.mp4" type="video/mp4">
        <track src="subtitles-en.vtt" kind="subtitles" srclang="en" label="English">
        Your browser does not support the video element.
    </video>
</body>
</html>

在这个示例中,<track> 标签用于加载字幕文件。kind="subtitles" 指定轨道类型为字幕,srclang 指定字幕语言,label 为字幕轨道提供标签。

字幕文件 (.vtt 格式) 示例:

vtt 复制代码
WEBVTT

1
00:00:00.000 --> 00:00:10.000
Hello, welcome to our video tutorial.

2
00:00:10.000 --> 00:00:20.000
In this section, we will learn about HTML5 video.
相关推荐
崔庆才丨静觅5 小时前
hCaptcha 验证码图像识别 API 对接教程
前端
passerby60616 小时前
完成前端时间处理的另一块版图
前端·github·web components
掘了6 小时前
「2025 年终总结」在所有失去的人中,我最怀念我自己
前端·后端·年终总结
崔庆才丨静觅6 小时前
实用免费的 Short URL 短链接 API 对接说明
前端
崔庆才丨静觅6 小时前
5分钟快速搭建 AI 平台并用它赚钱!
前端
崔庆才丨静觅7 小时前
比官方便宜一半以上!Midjourney API 申请及使用
前端
Moment7 小时前
富文本编辑器在 AI 时代为什么这么受欢迎
前端·javascript·后端
崔庆才丨静觅7 小时前
刷屏全网的“nano-banana”API接入指南!0.1元/张量产高清创意图,开发者必藏
前端
剪刀石头布啊7 小时前
jwt介绍
前端
爱敲代码的小鱼7 小时前
AJAX(异步交互的技术来实现从服务端中获取数据):
前端·javascript·ajax