HTML5实战与剖析之媒体元素
随着HTML5的到来,flash在手机端全部不能得到支持,这就使一项以flash制作的音乐播放和视频播放只能用HTML5中的媒体标签video标签和audio标签来制作了。很恰巧的是,移动端对HTML5中的媒体标签video标签和audio标签支持的非常好。这就使HTML5在移动端很流行。
video标签和audio标签也提供了很实用的JavaScript API,允许创建自定义的控件。两个标签的用法如下。
HTML代码
1.
<!-- 视频标签 -->
2.
<
video
src
=
"meng.ogg"
id
=
"myVideo"
>视频不支持</
video
>
3.
4.
<!-- 音频标签 -->
5.
<
audio
src
=
"long.mp3"
id
=
"myAudio"
>音频不支持</
audio
>
使用video标签和audio标签的时候,要包含src属性,指向要加载的媒体文件。还可以设置宽度(width)和高度(height)属性用来指定播放器大小。在加载视频内容期间显示一幅图像可以在poster属性指定图像的URI。另外标签中有controls属性,这个属性意味着浏览器应该显示UI控件,可以方便用户直接操作媒体。位于开始和结束标签之间的任何内容都是作为后备内容,在浏览器不支持这两种媒体元素的情况下显示。
正因为不是所有浏览器支持的媒体来源不一样,所以要用多个source标签进行分别编写。小例子如下。
HTML代码
01.
<!-- 音频标签 -->
02.
<
audio
id
=
"audio"
>
03.
<
source
id
=
"s1"
src
=
"meng.mp3"
></
source
>
04.
<
source
id
=
"s2"
src
=
"meng.ogg"
></
source
>
05.
音频不支持
06.
</
audio
>
07.
08.
<!-- 视频标签 -->
09.
<
video
id
=
"video"
>
10.
<
source
id
=
"s1"
src
=
"meng.mp3"
></
source
>
11.
<
source
id
=
"s2"
src
=
"meng.ogg"
></
source
>
12.
视频不支持
13.
</
video
>
支持video标签和audio标签的浏览器有Firefox 3.5+、Opera 10.5+、IE9+、Safari 4+、Chrome、iOS版Safari和Android版WebKit。
HTML5实战与剖析之媒体元素(1、video标签和audio标签简介)就为大家介绍完了,媒体标签在HTML5中算是得到了很好的支持,所以用的比较多。更多有关HTML5的相关知识尽在梦龙小站,感谢大家的支持。
新添加的视频播放方法
JavaScript代码
01.
function
bofangshipin(Num) {
02.
var
u = navigator.userAgent;
03.
if
(u.indexOf(
'iPhone'
) > -1 || u.indexOf(
'Mac'
) > -1) {
//苹果
04.
$(
"#vid"
+ Num).css(
"width"
,
"100%"
);
05.
document.getElementById(
'vid'
+ Num).style.display =
'block'
;
06.
document.getElementById(
'vid'
+ Num).play();
07.
}
else
{
//安卓
08.
$(
"#vid"
+ Num).css({
09.
"width"
: $(
".wrapperW"
).width(),
10.
"height"
: $(
".wrapperW"
).height(),
11.
"left"
: ( $(
".m_wraper"
).width() - $(
".wrapperW"
).width() ) / 2
12.
});
13.
document.getElementById(
'vid'
+ Num).style.display =
'block'
;
14.
setTimeout(
function
() { document.getElementById(
'vid'
+ Num).play(); }, 1000);
15.
}
16.
17.
}
18.
document.getElementById(
'vid'
+ 1).addEventListener(
"ended"
, end_playing,
false
);
19.
document.getElementById(
'vid'
+ 1).addEventListener(
"pause"
, end_playing,
false
);
20.
document.getElementById(
'vid'
+ 2).addEventListener(
"ended"
, end_playing,
false
);
21.
document.getElementById(
'vid'
+ 2).addEventListener(
"pause"
, end_playing,
false
);
22.
document.getElementById(
'vid'
+ 3).addEventListener(
"ended"
, end_playing,
false
);
23.
document.getElementById(
'vid'
+ 3).addEventListener(
"pause"
, end_playing,
false
);
24.
function
end_playing() {
25.
document.getElementById(
'vid'
+ 1).style.display =
'none'
;
26.
document.getElementById(
'vid'
+ 2).style.display =
'none'
;
27.
document.getElementById(
'vid'
+ 3).style.display =
'none'
;
28.
29.
$(
"#vid"
+ 1).css(
"width"
,
"0%"
);
30.
$(
"#vid"
+ 2).css(
"width"
,
"0%"
);
31.
$(
"#vid"
+ 3).css(
"width"
,
"0%"
);
32.
}
HTML 代码
1.
<
video
src
=
"images/sanxing.mp4"
id
=
"vid1"
controls autoplay
style
=
"position: absolute; z-index:100; left: 0px; display:none"
name
=
"vid1"
>
2.
<
source
src
=
"images/sanxing.mp4"
></
source
>
3.
</
video
>
第四下载 https://www.dddzd.com 是一个专业的软件下载站点,软件类型广泛,需要下软件的朋友就去第四下载哦!
第四下载手机站:https://m.dddzd.com
HTML5实战与剖析之媒体元素的更多相关文章
- HTML5实战与剖析之媒体元素(6、视频实例)
HTML5中的视频标签和及其模仿视频播放器的效果在一些手机端应用比較多.由于手机端基本上废除了flash的独断.让HTML5当家做主人,所以对视频支持的比較好. 所以今天专门为大家奉上HTML5视频标 ...
- HTML5实战与剖析之媒体元素(3、媒体元素的事件及方法)
HTML5中的媒体元素除了拥有非常多的属性之外,video标签和audio标签还能够出发非常多事件和方法. 这些方法监控着不同的属性的变化,这些变化有可能是媒体播放的结果,也可能是用户操作媒体的结果. ...
- HTML5实战与剖析之触摸事件(touchstart、touchmove和touchend)(转)
HTML5中新添加了很多事件,但是由于他们的兼容问题不是很理想,应用实战性不是太强,所以在这里基本省略,咱们只分享应用广泛兼容不错的事件,日后随着兼容情况提升以后再陆续添加分享.今天为大家介绍的事件主 ...
- HTML5实战与剖析之原生拖拽(四可拖动dragable属性和其他成员)
可拖动dragable属性 之前我们已经为大家介绍过几篇有关HTML5中原生拖拽的相关知识了.今天为大家介绍HTML5拖拽中的其他一些小东东,闲话不多说赶快一起看看吧. 在默认情况下,链接.文本和图像 ...
- (转)HTML5实战与剖析之触摸事件(touchstart、touchmove和touchend)
HTML5中新添加了很多事件,但是由于他们的兼容问题不是很理想,应用实战性不是太强,所以在这里基本省略,咱们只分享应用广泛兼容不错的事件,日后随着兼容情况提升以后再陆续添加分享.今天为大家介绍的事件主 ...
- HTML5实战与剖析之原生拖拽(一拖拽历史概述)
提起拖拽,我就想起了在JavaScript培训的时候一个非常好玩的效果,那就是拖拽了.可以用鼠标任意拖拽着一个物体到任何你想去的地方. 最早拥有JavaScript拖拽功能的是IE4浏览器.当时,网页 ...
- HTML5实战与剖析之跨文档消息传递(iframe传递信息)
在来自不同域名的页面间传递消息一般统称为跨文档消息传送,简称XDM.如,www.leemagnum.com域中的页面与位于一个内嵌框架中的http://blog.csdn.net/lee_magnum ...
- HTML5实战与剖析之字符集属性(charset和defaultCharset)
HTML5对字符集属性也进行了更新,其中charset和defaultCharset属性就是HTML5中新添加的字符集属性.有关charset和defaultCharset属性的具体讲解尽在HTML5 ...
- HTML5中支持新的媒体元素有这些
HTML5对媒体的支持性很强,支持以下媒体元素: · audio 定义音频 · video 定义视频 · embed 作为外部应用的容器 · source 多种媒体源的支持 · track ...
随机推荐
- 记一次使用commit提交大文件无法推送到远程库解决问题过程及git rebase使用
记一次使用commit提交大文件无法推送到远程库解决问题过程及git rebase使用 目录 大文件无法push到远程仓库 问题 commit的大文件无法push到远程库解决办法 git filter ...
- 6.15 省选模拟赛 老魔杖 博弈论 SG函数
这道题确实没有一个很好的解决办法 唯一的正解可能就是打表找规律 或者 直接猜结论了吧. 尽管如此 在此也给最终结论一个完整的证明. 对于70分 容易发现状态数量不大 可以进行暴力dp求SG函数. 原本 ...
- RabbitMQ学习总结(1)-基础概念
1. 概念 1.1 AMQP协议 AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消 ...
- 【Python 实例】面向对象 | 请输入一周中某天的名称的第一个字母来判断以下是星期几,如果第一个字母一样则继续判断第二个字母
[Python 实例]面向对象 | 请输入一周中某天的名称的第一个字母来判断以下是星期几,如果第一个字母一样则继续判断第二个字母 题目: 解答: 运行结果: 题目: 请输入一周中某天的名称的第一个字母 ...
- 在Swoole上加速Laravel应用
Swoole是用于PHP的生产级异步编程框架.它是用纯C语言编写的PHP扩展,它使PHP开发人员可以在PHP中编写高性能,可伸缩的并发TCP,UDP,Unix套接字,HTTP,WebSocket服务, ...
- 开启CAN通信学习(二)——基于Kvaser的CAN通信案例
1 案例硬件介绍 Kvaser是瑞典的一家专门提供CAN和LIN总线分析仪及数据记录仪的公司,在CAN产品开发领域已经有近30年的经验,本案例选择的CAN通信硬件型号是Kvaser Leaf Ligh ...
- android基本操作
1.页面跳转 activity_main.xml <?xml version="1.0" encoding="utf-8"?> <androi ...
- Linux中文解决
中文编码问题 安装中文语言包 locale -a | grep zh 查看是否有中文语言包 local 查看是否 LC_TYPE 为空 在 /etc/profile.d/ 下创建 lc_type.sh ...
- Python datetime 转 JSON
Python datetime 转 JSON Python 中将 datetime 转换为 JSON 类型,在使用 Django 时遇到的问题. 环境: Python2.7 代码: import js ...
- C#LeetCode刷题之#122-买卖股票的最佳时机 II(Best Time to Buy and Sell Stock II)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/4032 访问. 给定一个数组,它的第 i 个元素是一支给定股票第 ...