HTML视频和音频

<video>元素

<video>元素用于在HTML文档中嵌入视频内容。

html 复制代码
<video controls>
  <source src="movie.mp4" type="video/mp4">
  <source src="movie.ogg" type="video/ogg">
  您的浏览器不支持 HTML5 video 标签。
</video>

<video>元素属性

controls显示视频控制条(播放/暂停按钮、音量控制等)
autoplay页面加载后自动播放(注意:许多浏览器会阻止自动播放)
width设置视频播放器的宽度
height设置视频播放器的高度
loop视频播放完成后重新开始
muted默认静音
poster视频下载时或用户点击播放前显示的图像
preload页面加载时是否预加载视频

html 复制代码
<video width="640" height="360" controls autoplay muted loop poster="preview.jpg">
  <source src="video.mp4" type="video/mp4">
  <source src="video.webm" type="video/webm">
  <track src="subtitles_en.vtt" kind="subtitles" srclang="en" label="English">
  <track src="subtitles_zh.vtt" kind="subtitles" srclang="zh" label="中文">
  您的浏览器不支持 HTML5 视频。
</video>

HTML<audio>元素

<audio>元素用于在网页中嵌入音频内容,其用法与<video> 元素类似但更简单。

基本用法

html 复制代码
<audio controls>
  <source src="audio.mp3" type="audio/mpeg">
  <source src="audio.ogg" type="audio/ogg">
  您的浏览器不支持 HTML5 audio 元素。
</audio>

<audio>元素属性

controls显示音频控制条(播放/暂停按钮、音量控制等)
autoplay页面加载后自动播放(注意:许多浏览器会阻止自动播放)
loop音频播放完成后重新开始
muted默认静音
preload页面加载时是否预加载音频

html 复制代码
<audio controls autoplay loop>
  <source src="sound.mp3" type="audio/mpeg">
  <source src="sound.ogg" type="audio/ogg">
  您的浏览器不支持 audio 元素。
</audio>

可以通过JavaScript API控制音频播放:

javascript 复制代码
const audio = document.querySelector('audio');

// 播放音频
audio.play();

// 暂停音频
audio.pause();

// 跳转到指定时间(秒)
audio.currentTime = 30;

// 设置音量(0.0-1.0)
audio.volume = 0.5;

// 监听事件
audio.addEventListener('ended', () => {
  console.log('音频播放结束');
});
相关推荐
nujnewnehc5 小时前
ps, ai, ae插件都可以用html和js开发了
前端·javascript
Jagger_8 小时前
整洁架构三连问:是什么,怎么做,为什么要用
前端
一个处女座的程序猿O(∩_∩)O8 小时前
React 完全入门指南:从基础概念到组件协作
前端·react.js·前端框架
前端摸鱼匠9 小时前
Vue 3 的defineEmits编译器宏:详解<script setup>中defineEmits的使用
前端·javascript·vue.js·前端框架·ecmascript
里欧跑得慢9 小时前
Flutter 测试全攻略:从单元测试到集成测试的完整实践
前端·css·flutter·web
Jagger_9 小时前
前端整洁架构详解
前端
徐小夕9 小时前
我花一天时间Vibe Coding的开源AI工具,一键检测你的电脑能跑哪些AI大模型
前端·javascript·github
英俊潇洒美少年9 小时前
Vue3 企业级封装:useEventListener + 终极版 BaseEcharts 组件
前端·javascript·vue.js
嵌入式×边缘AI:打怪升级日志10 小时前
使用JsonRPC实现前后台
前端·后端
小码哥_常10 小时前
深度剖析:为什么Android选择了Binder
前端