html5通过video标签实现原生视频播放,支持src、controls、autoplay等属性,可嵌入MP4、WebM等格式,并用source标签提供多源兼容;通过监听play、pause、timeupdate等事件实现交互,结合JavaScript和css可自定义播放控件,如播放/暂停按钮、进度条、音量调节等,提升用户体验。

html5 提供了原生的视频播放能力,通过 video 标签可以轻松嵌入视频并控制播放行为,无需依赖 Flash 等插件。同时,开发者还能自定义播放控件,实现更灵活的用户体验。
使用 video 标签播放视频
HTML5 的 video 元素用于在网页中嵌入视频内容。基本语法如下:
<video src=”example.mp4″ controls></video>
常用属性包括:
- src:指定视频文件路径
- controls:显示浏览器默认播放控件(播放/暂停、音量、进度条)
- autoplay:视频自动播放(部分浏览器限制)
- loop:循环播放
- muted:静音播放(常配合 autoplay 使用)
- preload:预加载策略(none、metadata、auto)
支持多种格式,常见为 MP4(H.264)、WebM 和 Ogg。为兼容不同浏览器,可使用 source 标签提供多个源:
立即学习“前端免费学习笔记(深入)”;
<video controls>
<source src=”example.mp4″ type=”video/mp4″>
<source src=”example.webm” type=”video/webm”>
您的浏览器不支持 video 标签。
</video>
监听视频事件实现交互
video 元素提供了丰富的 dom 事件,可用于开发自定义功能。常用事件有:
- play:开始播放时触发
- pause:暂停时触发
- timeupdate:播放时间更新(可用于同步进度条)
- ended:播放结束
- loadedmetadata:元数据加载完成(获取时长、尺寸)
例如,监听播放进度:
const video = document.querySelector(‘video’);
video.addEventListener(‘timeupdate’, () => {
console.log(‘当前时间:’, video.currentTime);
});
开发自定义播放控件
隐藏默认控件(去掉 controls 属性),通过 JavaScript 控制播放状态,可打造个性化界面。
示例:自定义播放/暂停按钮
<video id=”myVideo” poster=”poster.jpg”>
<source src=”example.mp4″ type=”video/mp4″>
</video>
<button id=”playBtn”>播放</button>
<script>
const video = document.getElementById(‘myVideo’);
const playBtn = document.getElementById(‘playBtn’);
playBtn.addEventListener(‘click’, () => {
if (video.paused) {
video.play();
playBtn.textContent = ‘暂停’;
} else {
video.pause();
playBtn.textContent = ‘播放’;
}
});
</script>
还可添加进度条、音量调节、全屏等功能,结合 CSS 美化界面,实现现代风格播放器。
基本上就这些。掌握 video 标签和相关 API,就能在网页中高效集成视频,并按需求定制交互体验。


