深度学习HTML5音视频标签video和audio

HTML5展示视频的标准,video标签,每个浏览器显示视频的标准不一样,之前大多数通过插件(flash)来实现,现在有了video 后,就可以在所有的现代浏览器中使用音视频标签,只是界面不一样,需要定制化,本文讲述的是如何用音视频的标签定制一个播放器。

一、视频标签 -video

假设需要在页面中展示视频,需要使用HTML5的video标签。

video 元素支持的视频格式不多,主要是MP4, WebM, 和 Ogg。其他的需要转码。

属性:

  1. width、height定义宽高 默认300*150(视频拥有)
  2. controls 规定标签是否显示视频播放控件 controls=’controls’
  3. src 文件路径
  4. poster 规定视频加载时显示的照片(视频拥有)
  5. paused 是否暂停了,true表示暂停,false表示播放了
  6. currentTime 视频播放到当前哪个时间(可读写)
  7. playbackRate 视频播放速度(1.0正常播放,0.5半速播放,2.0,2倍播放)
  8. muted 是否静音
  9. volume 音量最大为1,静音为0,可每次减少0.3
  10. autoplay 视频在就绪后马上播放
  11. loop 设置播放完了是否循环播放 loop="loop"
  12. preload 如果出现该属性,则视频在页面加载时进行加载,并 预备播放。如果使用 "autoplay",则忽略该属性。
  13. duration 媒体总时长(只读)

示例:

<video  controls="" width="500" height="200" poster="封面图地址" muted autoplay loop>
        您的浏览器不支持,请更换或升级!
        <!-- source标签导入的视频只会选择一个支持的格式来播放 -->
        <source src="media/trailer.mp4" type="video/mp4">
        <source src="media/iceage4.webm" type="video/webm">
</video>

方法:

//以下方法一般是结合JS使用
play()      //播放视频
pause()     //暂停播放
load()      //更改视频源后重新加载视频,通过source更新的源必须重新load才能应用更改

二、音频标签-audio

定义声音,比如音乐或其他音频流

元素支持的3种文件格式:MP3、Wav、Ogg

属性与video类似,可以理解为没有画面的视频标签,方法同video一样。

  1. ​ src 要播放的音频的 URL
  2. ​ autoplay 音频在就绪后马上播放
  3. ​ controls 是否显示控件
  4. ​ loop 设置播放完了是否循环播放 loop="loop"
  5. ​ preload 如果出现该属性,则视频在页面加载时进行加载,并预备播放。如果使用 "autoplay",则忽略该属性。

三、source标签

可以加载多个格式的视频、音频源文件,浏览器会按照它所支持的格式去加载
属性:

type:视频 video/ogg、video/mp4、video/webm
     音频 audio/ogg、audio/mpeg

示例:

<video id="v1" poster="poster.jpg" controls="controls">
    <source id="sr1" src="movie.webm"></source>
    <source id="sr1" src="movie.ogg"></source>
     Your browser does not support the audio element.
</video>

检测浏览器对H5+CSS3能力的网站:
https://www.caniuse.com/

四、相关问题

  1. 为什么存在多种视频格式?

    因为每个浏览器内置的音视频解码器都不太一样,有些浏览器用的是免费的解码器,有些是收费的,所以导致浏览器之间支持的音视频格式不一样。

  2. 为什么每个浏览器的播放界面都不一样?

    这是因为H5没有制定统一的视频外观,所以视频外观全部都是由浏览器自定义的。

  3. 如何做到兼容不同的音视频格式?

    在video内嵌套另一个标签source标签

此资源下载链接已被无情的隐藏,请输入验证码解锁:
验证码

请关注本站公众号回复“验证码”,获取验证码。

在微信里搜索“WEB前端全栈圈”或者“imqdcn”或者微信扫描二维码都可以关注微信公众号

WEB前端全栈圈
除特别声明外, 本站所有内容皆为原创,未经许可,禁止转载。转载时请务必以超链接形式标明文章出处和作者信息
  • 694
(0)
打赏 微信扫一扫 微信扫一扫

关于作者:

web前端老罗

贡献:已经在WEB前端圈发表89篇文章了,你也来试试

简介:前端老罗是一位拥有多年web前端开发经验、管理经验、教学经验的实战派全栈工程师。目前在某名企任职WEB前端技术教官。加我微信:imqdcnn可提供开发、技术咨询、答疑、直播讲座等服务

Ta的专栏 | Ta的站点 | 其他SNS

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关于WEB前端圈

我是前端人(imqd.cn)愿景是不管你是想学习前端还是一名专业的WEB前端工程师在这里都能找到你想要的物料。定位为前端人学习进步的一个平台。在这里你能找到前端学习笔记、教学视频资源、案例、前后端分离、前端框架、低代码平台、可视化数据、多端开发、全栈开发等跟前端有关的一切资源!

关于站长:WEB前端老罗(罗老师)是一位拥有多年web前端开发经验、管理经验、IT培训教学经验的实战派全栈工程师。目前在某名企任职WEB前端技术教官。右边加我微信可提供开发、技术咨询、答疑、直播讲座等服务

WEB前端圈二维码

右边添加老罗微信一对一免费私聊
拉你加入官方微信答疑群

To top