热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

H5学习笔记(八)音视频

目录1、html5音视频标签2、video标签的属性3、audio标签的属性4、音视频js相关属性5、音视频js相关函数6、js相关事件(addEventListen


目录

      • 1、html5音视频标签
      • 2、video标签的属性
      • 3、audio标签的属性
      • 4、音视频js相关属性
      • 5、音视频js相关函数
      • 6、js相关事件(addEventListener)


1、html5音视频标签

<video src&#61;"resource/video/test.mp4" controls width&#61;"500" height&#61;"500"></video><audio src&#61;"resource/audio/test.mp3" controls></audio>

2、video标签的属性

width :视频显示区域的宽度&#xff0c;单位是CSS像素
height :视频展示区域的高度&#xff0c;单位是CSS像素
poster :一个海报帧的URL&#xff0c;用于在用户播放或者跳帧之前展示src : 要嵌到页面的视频的URL
controls : 显示或隐藏用户控制界面
autoplay : 媒体是否自动播放
loop : 媒体是否循环播放
muted : 是否静音
preload : 该属性旨在告诉浏览器作者认为达到最佳的用户体验的方式是什么none: 提示作者认为用户不需要查看该视频&#xff0c;服务器也想要最小化访问流量&#xff1b;换句话说就是提示浏览器该视频不需要缓存。metadata: 提示尽管作者认为用户不需要查看该视频&#xff0c;不过抓取元数据&#xff08;比如&#xff1a;长度&#xff09;还是很合理的。auto: 用户需要这个视频优先加载&#xff1b;换句话说就是提示&#xff1a;如果需要的话&#xff0c;可以下载整个视频&#xff0c;即使用户并不一定会用它。空字符串&#xff1a;也就代指 auto 值。

3、audio标签的属性

src
controls
autoplay
loop
muted
preload

音视频兼容性写法&#xff1a;

<video controls width&#61;"300" height&#61;"300"><source src&#61;"resource/video/OUTPUT.mp4" type&#61;"video/mp4"></source><source src&#61;"resource/video/OUTPUT.ogv" type&#61;"video/ogg"></source><source src&#61;"resource/video/OUTPUT.webm" type&#61;"video/webm"></source>当前浏览器不支持&#xff0c;点击下载&#xff1a;<a href&#61;"resource/video/OUTPUT.mp4">下载视频</a></video><audio controls><source src&#61;"resource/audio/OUTPUT.mp3" type&#61;&#39;audio/mpeg&#39;></source><source src&#61;"resource/audio/OUTPUT.aac" type&#61;&#39;audio/acc; codecs&#61;"acc"&#39;></source><source src&#61;"resource/audio/OUTPUT.ogg" type&#61;&#39;audio/ogg; codecs&#61;"vorbis"&#39;></source>当前浏览器不支持&#xff0c;点击下载&#xff1a;<a href&#61;"resource/audio/OUTPUT.mp3">下载音频</a></audio>

4、音视频js相关属性

duration : 媒体总时间(只读)
currentTime : 开始播放到现在所用的时间(可读写)
muted : 是否静音(可读写,相比于volume优先级要高)
volume : 0.0-1.0的音量相对值(可读写)
paused : 媒体是否暂停(只读)
ended : 媒体是否播放完毕(只读)
error : 媒体发生错误的时候&#xff0c;返回错误代码 (只读)
currentSrc : 以字符串的形式返回媒体地址(只读)视频多的部分:poster : 视频播放前的预览图片(读写)width、height : 设置视频的尺寸(读写)videoWidth、 videoHeight : 视频的实际尺寸(只读)

5、音视频js相关函数

play() : 媒体播放
pause() : 媒体暂停
load() : 重新加载媒体

var video &#61; document.querySelector("video");var audio &#61; document.querySelector("audio");video.play();audio.play();setTimeout(function(){video.pause();audio.pause();},5000)

6、js相关事件&#xff08;addEventListener)

视频:abort 在播放被终止时触发,例如, 当播放中的视频重新开始播放时会触发这个事件。canplay 在媒体数据已经有足够的数据&#xff08;至少播放数帧&#xff09;可供播放时触发。这个事件对应CAN_PLAY的readyState。canplaythrough 在媒体的readyState变为CAN_PLAY_THROUGH时触发&#xff0c;表明媒体可以在保持当前的下载速度的情况下不被中断地播放完毕。注意&#xff1a;手动设置currentTime会使得firefox触发一次canplaythrough事件&#xff0c;其他浏览器或许不会如此。durationchange 元信息已载入或已改变&#xff0c;表明媒体的长度发生了改变。例如&#xff0c;在媒体已被加载足够的长度从而得知总长度时会触发这个事件。emptied 媒体被清空&#xff08;初始化&#xff09;时触发。ended 播放结束时触发。error 在发生错误时触发。元素的error属性会包含更多信息。参阅Error handling获得详细信息。loadeddata 媒体的第一帧已经加载完毕。loadedmetadata 媒体的元数据已经加载完毕&#xff0c;现在所有的属性包含了它们应有的有效信息。loadstart 在媒体开始加载时触发。mozaudioavailable 当音频数据缓存并交给音频层处理时pause 播放暂停时触发。play 在媒体回放被暂停后再次开始时触发。即&#xff0c;在一次暂停事件后恢复媒体回放。playing 在媒体开始播放时触发&#xff08;不论是初次播放、在暂停后恢复、或是在结束后重新开始&#xff09;。progress 告知媒体相关部分的下载进度时周期性地触发。有关媒体当前已下载总计的信息可以在元素的buffered属性中获取到。ratechange 在回放速率变化时触发。seeked 在跳跃操作完成时触发。seeking 在跳跃操作开始时触发。stalled 在尝试获取媒体数据&#xff0c;但数据不可用时触发。suspend 在媒体资源加载终止时触发&#xff0c;这可能是因为下载已完成或因为其他原因暂停。timeupdate 元素的currentTime属性表示的时间已经改变。volumechange 在音频音量改变时触发&#xff08;既可以是volume属性改变&#xff0c;也可以是muted属性改变&#xff09;.。waiting 在一个待执行的操作&#xff08;如回放&#xff09;因等待另一个操作&#xff08;如跳跃或下载&#xff09;被延迟时触发音频:abort 在播放被终止时触发,例如, 当播放中的视频重新开始播放时会触发这个事件。canplay 在媒体数据已经有足够的数据&#xff08;至少播放数帧&#xff09;可供播放时触发。这个事件对应CAN_PLAY的readyState。canplaythrough 在媒体的readyState变为CAN_PLAY_THROUGH时触发&#xff0c;表明媒体可以在保持当前的下载速度的情况下不被中断地播放完毕。注意&#xff1a;手动设置currentTime会使得firefox触发一次canplaythrough事件&#xff0c;其他浏览器或许不会如此。durationchange 元信息已载入或已改变&#xff0c;表明媒体的长度发生了改变。例如&#xff0c;在媒体已被加载足够的长度从而得知总长度时会触发这个事件。emptied 媒体被清空&#xff08;初始化&#xff09;时触发。ended 播放结束时触发。error 在发生错误时触发。元素的error属性会包含更多信息。参阅Error handling获得详细信息。loadeddata 媒体的第一帧已经加载完毕。loadedmetadata 媒体的元数据已经加载完毕&#xff0c;现在所有的属性包含了它们应有的有效信息。loadstart 在媒体开始加载时触发。mozaudioavailable 当音频数据缓存并交给音频层处理时pause 播放暂停时触发。play 在媒体回放被暂停后再次开始时触发。即&#xff0c;在一次暂停事件后恢复媒体回放。playing 在媒体开始播放时触发&#xff08;不论是初次播放、在暂停后恢复、或是在结束后重新开始&#xff09;。progress 告知媒体相关部分的下载进度时周期性地触发。有关媒体当前已下载总计的信息可以在元素的buffered属性中获取到。ratechange 在回放速率变化时触发。seeked 在跳跃操作完成时触发。seeking 在跳跃操作开始时触发。stalled 在尝试获取媒体数据&#xff0c;但数据不可用时触发。suspend 在媒体资源加载终止时触发&#xff0c;这可能是因为下载已完成或因为其他原因暂停。timeupdate 元素的currentTime属性表示的时间已经改变。volumechange 在音频音量改变时触发&#xff08;既可以是volume属性改变&#xff0c;也可以是muted属性改变&#xff09;.。waiting 在一个待执行的操作&#xff08;如回放&#xff09;因等待另一个操作&#xff08;如跳跃或下载&#xff09;被延迟时触发

推荐阅读
  • 本文探讨了如何通过优化 DOM 操作来提升 JavaScript 的性能,包括使用 `createElement` 函数、动画元素、理解重绘事件及处理鼠标滚动事件等关键主题。 ... [详细]
  • 本文详细介绍了JQuery Mobile框架中特有的事件和方法,帮助开发者更好地理解和应用这些特性,提升移动Web开发的效率。 ... [详细]
  • Bootstrap Paginator 分页插件详解与应用
    本文深入探讨了Bootstrap Paginator这款流行的JavaScript分页插件,提供了详细的使用指南和示例代码,旨在帮助开发者更好地理解和利用该工具进行高效的数据展示。 ... [详细]
  • publicclassBindActionextendsActionSupport{privateStringproString;privateStringcitString; ... [详细]
  • 本文详细介绍了在Windows系统中如何配置Nginx以实现高效的缓存加速功能,包括关键的配置文件设置和示例代码。 ... [详细]
  • Requests库的基本使用方法
    本文介绍了Python中Requests库的基础用法,包括如何安装、GET和POST请求的实现、如何处理Cookies和Headers,以及如何解析JSON响应。相比urllib库,Requests库提供了更为简洁高效的接口来处理HTTP请求。 ... [详细]
  • 解决JavaScript中法语字符排序问题
    在开发一个使用JavaScript、HTML和CSS的Web应用时,遇到从SQLite数据库中提取的法语词汇排序不正确的问题,特别是带重音符号的字母未按预期排序。 ... [详细]
  • 理解浏览器历史记录(2)hashchange、pushState
    阅读目录1.hashchange2.pushState本文也是一篇基础文章。继上文之后,本打算去研究pushState,偶然在一些信息中发现了锚点变 ... [详细]
  • 本文将从基础概念入手,详细探讨SpringMVC框架中DispatcherServlet如何通过HandlerMapping进行请求分发,以及其背后的源码实现细节。 ... [详细]
  • Windows操作系统提供了Encrypting File System (EFS)作为内置的数据加密工具,特别适用于对NTFS分区上的文件和文件夹进行加密处理。本文将详细介绍如何使用EFS加密文件夹,以及加密过程中的注意事项。 ... [详细]
  • 深入理解:AJAX学习指南
    本文详细探讨了AJAX的基本概念、工作原理及其在现代Web开发中的应用,旨在为初学者提供全面的学习资料。 ... [详细]
  • 本文介绍了如何正确配置Ajax POST请求,以确保前端发送的数据能够被后端正确解析。重点在于前端JSON对象的键名需要与后端实体类的字段名严格匹配。 ... [详细]
  • 深入解析WebP图片格式及其应用
    随着互联网技术的发展,无论是PC端还是移动端,图片数据流量占据了很大比重。尤其在高分辨率屏幕普及的背景下,如何在保证图片质量的同时减少文件大小,成为了亟待解决的问题。本文将详细介绍Google推出的WebP图片格式,探讨其在实际项目中的应用及优化策略。 ... [详细]
  • 如何高效解决Android应用ANR问题?
    本文介绍了ANR(应用程序无响应)的基本概念、常见原因及其解决方案,并提供了实用的工具和技巧帮助开发者快速定位和解决ANR问题,提高应用的用户体验。 ... [详细]
  • 本文介绍了如何通过 XMLHttpRequest 对象在不同浏览器中实现 AJAX 的 POST 和 GET 请求,并详细说明了 XMLHttpRequest 的五个状态及其含义。 ... [详细]
author-avatar
飞教书的粉红色
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有