H5 video标签相关属性操作示例

本文介绍了一个使用HTML5实现的基本视频播放器案例。该播放器具备播放/暂停视频、开关声音、显示进度条等功能,并通过JavaScript实现了对视频播放状态的控制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

HTML5-video(播放暂停视频;打开关闭声音;进度条)

<!DOCTYPE html>
<html>
   <head>
          <title>HTML5-video(播放暂停视频;打开关闭声音;进度条)</title>
          <meta charset="utf-8"/>
   </head>
<body>
<video id="video1" controls="controls" width="400px" height="400px">
    <source src="videos/demo.mp4">
</video>

<div>
    <button onclick="enableMute()" type="button">关闭声音</button>
    <button onclick="disableMute()" type="button">打开声音</button>
    <button onclick="playVid()" type="button">播放视频</button>
    <button onclick="pauseVid()" type="button">暂停视频</button>
    <button onclick="showFull()" type="button">全屏</button><br />
    <span>进度条:</span>
    <progress value="0" max="0" id="pro"></progress>
    <span>音量:</span>
    <input type="range" min="0" max="100" value="50" onchange="setvalue()" id="ran"/>
</div>

<script>
    var btn=document.getElementsByTagName("button");
    var myvideo=document.getElementById("video1");
    var pro=document.getElementById("pro");
    var ran=document.getElementById("ran");

    //关闭声音
    function enableMute(){
        myvideo.muted=true;
        btn[0].disabled=true;
        btn[1].disabled=false;
    }
    //打开声音
    function disableMute(){
        myvideo.muted=false;
        btn[0].disabled=false;
        btn[1].disabled=true;
    }
    //播放视频
    function playVid(){
        myvideo.play();
        setInterval(pro1,1000);
    }
    //暂停视频
    function pauseVid(){
        myvideo.pause();
    }
    //全屏
    function showFull(){
        myvideo.webkitrequestFullscreen();
    }
    //进度条展示
    function pro1(){
        pro.max=myvideo.duration;
        pro.value=myvideo.currentTime;
    }
    //拖动range进行调音量大小
    function setvalue(){
        myvideo.volume=ran.value/100;
        myvideo.muted=false;
    }
</script>

</body>
</html>
### HTML5 `video` 标签的使用方法和属性 #### 定义与用途 HTML5 中引入了 `<video>` 标签,用于嵌入视频内容到网页中。它允许开发者轻松地向页面添加多媒体功能而无需依赖第三方插件。 #### 基本语法结构 以下是 `<video>` 标签的基本语法结构: ```html <video width="320" height="240" controls> 您的浏览器不支持 video 标签。 </video> ``` - 属性 `controls` 表明需要显示默认的播放控件,如播放/暂停按钮、进度条等[^1]。 --- #### 主要属性详解 1. **宽度和高度 (`width`, `height`)** - 设置视频播放区域的尺寸。如果只指定其中一个,则另一个会按比例调整以保持原始宽高比[^1]。 ```html <video width="640" height="360"> 您的浏览器不支持 video 标签。 </video> ``` 2. **预加载 (`preload`)** - 控制视频文件何时被下载以及下载多少数据。 - `auto`: 浏览器会在后台完全加载整个文件[^1]。 - `none`: 不提前加载任何部分[^1]。 - `metadata`: 只加载元数据(例如持续时间和字幕轨道),以便快速初始化界面[^1]。 ```html <video preload="metadata"></video> ``` 3. **自动播放 (`autoplay`)** - 启用此选项后,当视频准备好时就会立刻开始播放。 ```html <video autoplay></video> ``` - 如果希望静音启动,可附加 `muted` 属性来实现更友好的用户体验: ```html <video autoplay muted></video> ``` 4. **循环播放 (`loop`)** - 让视频在到达结尾处之后再次从头开始播放[^1]。 ```html <video loop></video> ``` 5. **封面图片 (`poster`)** - 提供一张静态图像作为占位符,在实际视频尚未加载完成之前展示给用户看[^1]。 ```html <video poster="/path/to/image.jpg"></video> ``` 6. **其他常用 JavaScript 方法** - 获取当前就绪状态可以通过 `$video.readyState` 实现,返回值范围如下[^2]: - `1 (HAVE_NOTHING)`:无可用信息; - `2 (HAVE_METADATA)`:已知时长和其他基础特性; - `3 (HAVE_CURRENT_DATA)`:当前位置附近的数据已经准备好了; - `4 (HAVE_FUTURE_DATA)`:不仅限于当前位置周围的数据也已经被缓冲区保存下来; - `5 (HAVE_ENOUGH_DATA)`:有足够的数据继续流畅运行下去直到结束为止。 --- #### 示例综合代码 以下是一个完整的例子演示如何利用这些参数创建一个带控制栏并能自适应屏幕大小的全屏播放器: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Video Example</title> <style> .responsive-video { position: relative; padding-bottom: 56.25%; /* 16:9 Aspect Ratio */ height: 0; } .responsive-video iframe, .responsive-video object, .responsive-video embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } </style> </head> <body> <div class="responsive-video"> <video id="myVideo" controls autoplay muted loop poster="cover_image.jpg"> <source src="movie.mp4" type="video/mp4"> <source src="movie.ogg" type="video/ogg"> 您的浏览器不支持 Video 标签。 </video> </div> <script> document.getElementById('myVideo').addEventListener('loadeddata', function() { console.log(`Ready State is now ${this.readyState}`); }); </script> </body> </html> ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值