HTML5 多媒体音视频处理

==============

音频处理 - audio


HTML5 Audio 音频

目前大多数音频是通过哦插件的形式来播放的。

不同浏览器在网页上播放音频的标准都不一样。

基于以上现状,HTML5 提供了 audio 元素在网页中嵌入音频元素。

audio 元素

audio元素可以实现在HTML页面中嵌入音频内容。

audio元素的属性可以设置是否自动播放、预加载、以及循环播放等功能。

audio元素提供了播放、暂停、和音量控制来控制音频。

  • 注意: IE8 或更早版本的IE浏览器不支持 audio 元素。

audio 元素提供三种音频格式文件

MP3:采用 mpeg 音频解码器。

Ogg:采用 ogg 音频解码器。

Wav:采用 wav 音频解码器。

音频格式在主流浏览器中支持力度

使用案例代码

注: controls :使浏览器出现控制功能,没有的话页面没东西。

audio 属性


audio 元素支持一下属性

-  src : 指定播放文件的URL,可以通过。

-  controls : 激活各个浏览器提供的默认控制。

-  autoplay :加载音频后自动播放。

-  loop :设置该属性后,会循环播放音频。

-  preload :缓存设置。

使用脚本 JavaScript 控制 audio


案例代码:


play

pause

stop

音频播放案例(稍复杂,超简单)

总时长:


当前进度:


播放音频

暂停音频

停止音频

快进音频

快退音频

静音音频

视频处理 - video


HTML5 中提到最多的是视频处理,视频也是互联网的重要应用。

在HTML5中,增加了一个 video 元素,以便在HTML中插入和播放视频。

video 元素提供了播放、暂停、和音量控制功能,同时也提供了尺寸属性。

使用 video 视频至善要提供一下视频格式的文件

OGG:包含 Theora 视频 和 Vorbis 音频解调码。

MP4:包含 H.264 视频 和 AAC 音频解调码。

WebM:包含 VP8 视频 和 Ogg Vorbis 音频解调码。

各大主流浏览器对视频文件格式的支持力度

video 元素


video 元素可以实现在HTML页面中嵌入视频内容。

元素属性可以设置是否自动播放、是否与加载、以及视频的宽高尺寸等。

src 属性:用于读取媒体文件。

autoplay 属性: 设置该视频是否自动播放。

width 和 height 属性:设置该视频的宽度和高度。

案例代码

视频不能播放(如果浏览器不支持此格式,用此行文本代替)

  • 注意:自动播放属性:autoplay     控制属性:controls

video 元素


video 元素也可以使用 source 子元素来向浏览器提供备选的视频格式。

- source 元素中的 src 属性 和 video元素中的 src属性作用相同。

- 都是用于读取每天文件的。

- 注意:使用 source 元素读取流媒体文件时,video 元素就不需要使用 src 属性了。

案例代码

视频不能播放(如果浏览器不支持此格式,用此行文本代替)

 

video 属性


loop 属性可以使视频播放结束后自动循环播放、

poster 属性用于设置视频封面。

视频不能播放(如果浏览器不支持此格式,用此行文本代替)

编程(JavaScript)实现视频播放器


在不同浏览器实现 video 代码,播放器控件的图形设计会有一定的差别。

每一种浏览器斗殴自己的特殊的按钮和进度条,有的甚至还有一些特殊的特性。

为了在所有浏览器中显示效果保持一致,需要使用视频事件、属性和方法。

HTML5 中加入了新的事件API,在视频处理过程中,包含了一些通知媒体状态的事件。

  • 例如 下载进度、视频是否结束等。

编程实现视频播放器 - 常用事件


video 元素的一些常用事件

progress:用于更新媒体的下载进度,会周期性触发。

canplaythrough:当整个媒体顺利播放时会触发的事件。

canplay:不考虑整体状态,只要下载了一定的可放帧就会触发的事件。

ended:媒体到达末尾时触发。

pause:媒体暂停时触发。

play:媒体开始播放时触发。

error:媒体播放出现错误时触发。

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

[外链图片转存中…(img-wyUUbV20-1715402499681)]

[外链图片转存中…(img-5PRq0EnG-1715402499681)]

[外链图片转存中…(img-5DP9P8BJ-1715402499682)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

  • 20
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值