• html5 音频/视频标签


    web 开发者们一直以来想在 Web 中使用音频和视频,自 21 世纪初以来,我们的带宽开始能够支持任意类型的视频(视频文件比文本和图片要大的多)。在早些时候,传统的 web 技术(如 HTML)不能够在 Web 中嵌入音频和视频,所以一些像 Flash (后来有 Silverlight ) 的专利技术在处理这些内容上变得很受欢迎。这些技术能够正常的工作,但是却有着一系列的问题,包括无法很好的支持 HTML/CSS 特性、安全问题,以及可行性问题。

    传统的解决方案能够解决许多这样的问题,前提是它能够正确的工作。幸运的是,几年之后 HTML5 标准提出,其中有许多的新特性,包括

    1、

    HTML

    <video src="rabbit320.webm" controls>
      <p>你的浏览器不支持 HTML5 视频。可点击<a href="rabbit320.mp4">此链接a>观看p>
    video>
    
    • 1
    • 2
    • 3

    当中的一些属性如下:

    src:同 标签使用方式相同,src 属性指向你想要嵌入网页当中的视频资源,他们的使用方式完全相同。

    controls:用户必须能够控制视频和音频的回放功能。你可以使用 controls 来包含浏览器提供的控件界面,同时你也可以使用合适的 JavaScript API 创建自己的界面。界面中至少要包含开始、停止以及调整音量的功能。

    新的特性:

    <video controls width="400" height="400"
           autoplay loop muted
           poster="poster.png">
      <source src="rabbit320.mp4" type="video/mp4">
      <source src="rabbit320.webm" type="video/webm">
      <p>你的浏览器不支持 HTML5 视频。可点击<a href="rabbit320.mp4">此链接a>观看p>
    video>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述

    width 和 height:你可以用属性控制视频的尺寸,也可以用 CSS 来控制视频尺寸。无论使用哪种方式,视频都会保持它原始的长宽比 — 也叫做纵横比。如果你设置的尺寸没有保持视频原始长宽比,那么视频边框将会拉伸,而未被视频内容填充的部分,将会显示默认的背景颜色。

    autoplay:这个属性会使音频和视频内容立即播放,即使页面的其他部分还没有加载完全。建议不要应用这个属性在你的网站上,因为用户们会比较反感自动播放的媒体文件。

    loop:这个属性可以让音频或者视频文件循环播放。同样不建议使用,除非有必要。

    muted:这个属性会导致媒体播放时,默认关闭声音。

    poster:这个属性指向了一个图像的 URL,这个图像会在视频播放前显示。通常用于粗略的预览或者广告。

    preload:这个属性被用来缓冲较大的文件,有 3 个值可选:

    • “none” :不缓冲
    • “auto” :页面加载后缓存媒体文件
    • “metadata” :仅缓冲文件的元数据

    将 src 属性从

    <video controls>
      <source src="rabbit320.mp4" type="video/mp4">
      <source src="rabbit320.webm" type="video/webm">
      <p>你的浏览器不支持 HTML5 视频。可点击<a href="rabbit320.mp4">此链接a>观看p>
    video>
    
    • 1
    • 2
    • 3
    • 4
    • 5

    每个 标签页含有一个 type 属性,这个属性是可选的,但是建议你添加上这个属性 — 它包含了视频文件的 MIME types ,同时浏览器也会通过检查这个属性来迅速的跳过那些不支持的格式。如果你没有添加 type 属性,浏览器会尝试加载每一个文件,直到找到一个能正确播放的格式,这样会消耗掉大量的时间和资源。

    2、

    HTML

    <audio controls>
      <source src="viper.mp3" type="audio/mp3">
      <source src="viper.ogg" type="audio/ogg">
      <p>你的浏览器不支持 HTML5 音频,可点击<a href="viper.mp3">此链接a>收听。p>
    audio>
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    音频播放器所占用的空间比视频播放器要小,由于它没有视觉部件 — 你只需要显示出能控制音频播放的控件。一些与 HTML5

    • 同时也不支持 poster 属性 — 同样,没有视觉部件。

    除此之外,

    如何给那些听不懂音频语言的人们提供一个音频内容的副本?所以,感谢 HTML5

    • subtitles
      通过添加翻译字幕,来帮助那些听不懂外国语言的人们理解音频当中的内容。

    • captions
      同步翻译对白,或是描述一些有重要信息的声音,来帮助那些不能听音频的人们理解音频中的内容。

    • timed descriptions
      将文字转换为音频,用于服务那些有视觉障碍的人。

    一个典型的 WebVTT 文件如下:

    WEBVTT
    
    1
    00:00:22.230 --> 00:00:24.606
    第一段字幕
    
    2
    00:00:30.739 --> 00:00:34.074
    第二段
    
      ...
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    让其与 HTML 媒体一起显示,你需要做如下工作:

    • 以 .vtt 后缀名保存文件。
    • 标签链接 .vtt 文件, 标签需放在

    如下:

    <video controls>
        <source src="example.mp4" type="video/mp4">
        <source src="example.webm" type="video/webm">
        <track kind="subtitles" src="subtitles_en.vtt" srclang="en">
    video>
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

  • 相关阅读:
    重构连接,分销商如何重回生态圈核心
    Linux操作系统7:文件系统及磁盘管理(二)
    热门新游 2024 植物大战僵尸杂交版 Mac 版本下载安装详细教程
    利用容器技术优化DevOps流程
    UniVue更新日志:使用ObservableList优化LoopList/LoopGrid组件的使用
    Redis 中新的三种数据类型
    Android逆向——脱壳解析
    Python爬虫实战:淘宝商品爬取与数据分析
    基于 WebWorker 和 indexedDB 的高性能、高容量、高扩展的web端日志系统
    【SpringBoot AOP Redis实现延时双删功能实战】
  • 原文地址:https://blog.csdn.net/weixin_49346755/article/details/127126770