HTML5 视频 Vedio 标签详解

打印 上一主题 下一主题

主题 566|帖子 566|积分 1702

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

1. 基本结构

HTML5 中使用 <video> 标签嵌入视频文件,最简单的形式如下:
  1. <video src="video-file.mp4" controls></video>
复制代码
在这个示例中,src 属性指定视频文件的路径,controls 属性使浏览器显示视频控件。
2. 示例代码

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6.     <title>HTML5 Video Example</title>
  7. </head>
  8. <body>
  9.     <h1>HTML5 Video Example</h1>
  10.     <video src="video-file.mp4" controls>
  11.         Your browser does not support the video element.
  12.     </video>
  13. </body>
  14. </html>
复制代码
这段代码将在网页上显示一个视频播放器,如果浏览器不支持 <video> 标签,将显示替代文本 “Your browser does not support the video element.”。
二、属性详解

1. src

指定视频文件的 URL,可以是相对路径或绝对路径。
  1. <video src="path/to/your-video-file.mp4" controls></video>
复制代码
2. controls

显示视频控件(播放、暂停、音量、全屏等)。
  1. <video src="video-file.mp4" controls></video>
复制代码
3. autoplay

视频文件在页面加载完成后自动播放。需要注意的是,为了用户体验,很多浏览器默认禁止自动播放,特别是移动设备。
  1. <video src="video-file.mp4" controls autoplay></video>
复制代码
4. loop

视频文件播放结束后自动重新播放。
  1. <video src="video-file.mp4" controls loop></video>
复制代码
5. muted

初始加载时将视频设置为静音。
  1. <video src="video-file.mp4" controls muted></video>
复制代码
6. preload

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


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

设置视频播放器的宽度和高度(以像素为单位)。
  1. <video src="video-file.mp4" controls width="640" height="360"></video>
复制代码
8. poster

在视频播放之前显示的预览图像(封面图)。
  1. <video src="video-file.mp4" controls poster="poster-image.jpg"></video>
复制代码
9. crossorigin

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


  • anonymous:不使用凭据。
  • use-credentials:使用凭据(如 Cookies)。
  1. <video src="video-file.mp4" controls crossorigin="anonymous"></video>
复制代码
三、支持多种视频格式

由于不同浏览器对视频格式的支持不同,通常需要提供多种格式的视频文件,以确保兼容性。可以使用多个 <source> 标签来定义不同格式的视频文件。
  1. <video controls width="640" height="360" poster="poster-image.jpg">
  2.     <source src="video-file.mp4" type="video/mp4">
  3.     <source src="video-file.webm" type="video/webm">
  4.     <source src="video-file.ogv" type="video/ogg">
  5.     Your browser does not support the video element.
  6. </video>
复制代码
示例代码

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6.     <title>HTML5 Video Example with Multiple Formats</title>
  7. </head>
  8. <body>
  9.     <h1>HTML5 Video Example with Multiple Formats</h1>
  10.     <video controls width="640" height="360" poster="poster-image.jpg">
  11.         <source src="video-file.mp4" type="video/mp4">
  12.         <source src="video-file.webm" type="video/webm">
  13.         <source src="video-file.ogv" type="video/ogg">
  14.         Your browser does not support the video element.
  15.     </video>
  16. </body>
  17. </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():全屏播放视频(需要浏览器支持)。
示例代码

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6.     <title>HTML5 Video Control with JavaScript</title>
  7. </head>
  8. <body>
  9.     <h1>Control HTML5 Video with JavaScript</h1>
  10.     <video id="myVideo" src="video-file.mp4" controls width="640" height="360"></video>
  11.     <br>
  12.     <button onclick="playVideo()">Play</button>
  13.     <button onclick="pauseVideo()">Pause</button>
  14.     <button onclick="stopVideo()">Stop</button>
  15.     <button onclick="muteVideo()">Mute/Unmute</button>
  16.     <script>
  17.         var video = document.getElementById('myVideo');
  18.         function playVideo() {
  19.             video.play();
  20.         }
  21.         function pauseVideo() {
  22.             video.pause();
  23.         }
  24.         function stopVideo() {
  25.             video.pause();
  26.             video.currentTime = 0; // Reset playback position to the start
  27.         }
  28.         function muteVideo() {
  29.             video.muted = !video.muted; // Toggle mute
  30.         }
  31.     </script>
  32. </body>
  33. </html>
复制代码
在这个示例中,我们通过 JavaScript 控制视频的播放、暂停、停止和静音。video.pause() 方法用于暂停视频,video.currentTime = 0 将播放位置重置到开始。
五、使用 <track> 标签添加字幕

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

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6.     <title>HTML5 Video with Subtitles</title>
  7. </head>
  8. <body>
  9.     <h1>HTML5 Video with Subtitles</h1>
  10.     <video controls width="640" height="360">
  11.         <source src="video-file.mp4" type="video/mp4">
  12.         <track src="subtitles-en.vtt" kind="subtitles" srclang="en" label="English">
  13.         Your browser does not support the video element.
  14.     </video>
  15. </body>
  16. </html>
复制代码
在这个示例中,<track> 标签用于加载字幕文件。kind="subtitles" 指定轨道类型为字幕,srclang 指定字幕语言,label 为字幕轨道提供标签。
字幕文件 (.vtt 格式) 示例:
  1. WEBVTT
  2. 1
  3. 00:00:00.000 --> 00:00:10.000
  4. Hello, welcome to our video tutorial.
  5. 2
  6. 00:00:10.000 --> 00:00:20.000
  7. In this section, we will learn about HTML5 video.
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

东湖之滨

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表