HTML5_布局and音视频

HTML5_布局and音视频

I.HTML5标签的改变
1.文档声明
HTML语法是不区分大小写的
HTML5的DTD声明为:<!doctype html>
确保浏览器能在HTML5的标准模式下进行渲染

\App3_HTML5\Module1_Layout\html5.html

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>

</body>
</html>

2.结构标签
article      一篇文章
header       一个页面或一个区域的头部
nav          导航链接
section              一个区域
aside       侧边栏
hgroup      一个区块的相关信息
figure      一组媒体内容以及它们的标题
figcaption   figure元素的标题
footer     页面或区域的底部
dialog     对话窗(会话窗)
新的结构标签带来的是网页布局的改变, 以及提升对搜索引擎的友好

3.多媒体交互标签
video      视频
audio      音频
source    媒体资源
canvas    图片
embed   外部可交互内容或插件
多媒体标签的出现意味着富媒体的发展, 以及支持不使用插件的情况下即可操作媒体文件

4.Web应用标签
menu       命令列表
menuitem    menu命令列表标签
command    menu定义一个命令按钮
meter      状态标签(实时状态显示:气压、气温)
progress    状态标签(任务过程:安装、加载)
datalist      为input标记定义一个下拉列表
details     定义一个元素的详细内容
ruby        注释或音标
rp       不支持ruby的浏览器的显示
rt        对ruby注释的内容文本
keygen      表单里一个生成的键值(加密信息传送)
mark       有标记的文本(黄色为选中状态)
output      输出类型,计算表但结果配合oninput事件
time       日期/时间

4.删除的HTML标签
纯表现元素:内容和样式要分离
basefont、big、center、font、s、strike、tt、u
对可用性产生负面影响的元素:搜索引擎无法抓取框架里的实际内容
frame、frameset、noframe
产生混淆的元素:
acronym、applet、isindex、dir

5.重新定义的标签
b       内联文本,粗体
i        内敛文本,斜体
dd       同details与figure一同使用,定义包含文本,dialog也可用
dt        同details与figure一同使用,汇总细节,dialog也可用
hr        主题结束,而不是水平线,虽然显示相同
menu     重新定义用户界面的菜单,配合commond或者menuitem使用
small      小字体,例如打印注释或者法律条款
strong    表示重要性而不是强调符号

6.新的布局方式
<body>
  <header></header>
  <nav></nav>
  <section>
    <article>
      <header></header>
      <p></p>
      <footer></footer>
    </article>
  </section>
  <aside></aside>
  <footer></footer>
</body>
所有的HTML5结构标签本质上来说是一个div标签

7.演示

D:\Workspaces\IntelliJ_IDEA\App3_HTML5\Module1_Layout\html5-layout.html

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>html5标准布局</title>
    <style>
        /*所有的HTML5结构标签本质上来说是一个div标签*/
        /* {
            border: 1px solid tomato;
            height: 20px;
        }*/

        /*页面头部 header*/
        header {
            height: 100px;
            background-color: lightblue
        }

        p {
            height: 20px;
            margin: 0px;
        }

        nav {
            height: 50px;
            background: greenyellow;
            margin-top: 30px;
        }

        nav ul {
            list-style-type: none;
        }

        nav ul li {
            width: 100px;
            background: mediumpurple;
            float: left;
            line-height: 46px;
            margin: 2px;
            text-align: center;
        }

        /*页面中间 div*/
        div {
            margin-top: 4px;
            height: 1000px;
        }

        section {
            height: 1000px;
            background-color: deepskyblue;
            width: 70%;
            float: left;
        }

        section article {
            background: yellowgreen;
            width: 500px;
            margin: 0 auto;
            text-align: center;
        }

        section article p {
            height: auto;
        }

        aside {
            height: 1000px;
            background-color: cadetblue;
            width: 29.5%;
            float: right;
        }

        aside hgroup {
            color: darkblue;
        }

        /*页面底部 footer*/
        footer {
            height: 100px;
            background-color: dodgerblue;
            width: 100%;
            clear: both;
            margin-top: 4px;
        }
    </style>
</head>
<body>
<header>
    <p>This is header Tag</p>
    <nav>
        <ul>
            <li>首页</li>
            <li>读书</li>
            <li>音乐</li>
            <li>视频</li>
            <li>杂志</li>
            <li>关于</li>
        </ul>
    </nav>
</header>
<div>
    <section>
        <p>This is section Tag</p>
        <article>
            <h2>Never Again 青木カレン</h2>
            <p>
                drownig anyway, from the start to the end<br>
                and you sailing away, and no where else to strain<br>
                come and take my all the way<br>
                so far away, from the start to the end<br>
                and everything seems so veiled and blue<br>
            </p>
        </article>
        <article>
            <h2>灰色七月</h2>
            <p>
                一个人的日子真心难熬。<br>
                你永远不知道幸福什么时候才来敲门。<br>
                困在这里已经很久了,每一天都像一潭死水。<br>
                身边的一切都像是和我无关,<br>
                一个人吃饭,一个人睡觉,一个人发呆,无聊到一种极致。<br>
                同病才会相怜,身边连同病相怜的人都没有。<br>
            </p>
        </article>
        <hr>
        <figure>
            <figcaption>UFO</figcaption>
            <p>unknow flying object</p>
        </figure>
        <figure>
            <dt>oschina</dt>
            <dd>开源中国</dd>
        </figure>
        <hr>
        <!-- 这里的内容谷歌浏览器不显示,火狐浏览器显示 -->
        <dialog>
            <dt>你为什么能这么断定啊。</dt>
            <dd>曾经的我也是这样。你也是,对自己诚实一点比较好吧。不然总有一天会崩溃的哦。</dd>
            <dt>我才不会上你的当,我们夫妇十分恩爱。</dt>
            <dd>是嘛,很明白对方的心情是吧。</dd>
        </dialog>
        <hr>
        <menu>
            <li>点击</li>
            <li>右键单击</li>
        </menu>
        <hr>
        <!-- 这里的内容只有火狐浏览器支持,可以添加右键菜单 -->
        <span contextmenu="menu1">右键单击</span>
        <menu type="context" id="menu1">
            <menuitem label="menu11" onclick="alert(‘菜单一‘)" icon="http://static.cnblogs.com/favicon.ico"></menuitem>
        </menu>
        <hr>
        <!-- 显示温度计 -->
        <p>
            <meter min="0" max="10" value="2" low="3" high="8"></meter>
            <meter min="0" max="10" value="5" low="3" high="8"></meter>
            <meter min="0" max="10" value="9" low="3" high="8"></meter>
        </p>
        <!-- 显示进度条 -->
        <p>
            <progress max="10" value="2"></progress>
            <progress max="10" value="4"></progress>
            <progress max="10" value="8"></progress>
            <progress max="100" value="0" id="prog"></progress>
            <script>
                var pro = document.getElementById("prog");
                setInterval(function () {
                    ++pro.value;
                }, 100);
            </script>
        </p>
        <details>
            <dt>TO BE OR NOT TO BE</dt>
            <dd>that is a question</dd>
            <dt>你不过是想做些打破平凡生活,让你感觉到兴奋的事情罢了。</dt>
            <dd>如果不能做朋友,那就成为共犯吧。</dd>
            <dt>总有一些缘分,因一时的任性,滑落指间;</dt>
            <dd>有些感情,因一时的冲动,遗憾一生。</dd>
        </details>
        <hr>
        <p>
            <ruby>夼<rt>kuang</rt></ruby>
        </p>
        <hr>
        <p>
            自别后,
            寂静的心城化作了<mark>残破的废墟</mark><br>
            美丽<mark>安静的眼睛</mark>里,
            再流露不出无忧的笑容<br>
        </p>
    </section>
    <aside>
        <p>This is aside Tag</p>
        <hgroup>
            <h3>秋天的心情</h3>
            <h3>有些人忘不掉,但永不再见</h3>
            <h3>因为无奈,所以逞强 </h3>
            <h3>有些话,这么短,那么伤</h3>
        </hgroup>
    </aside>
</div>
<footer>
    <p>This is footer Tag</p>
    <hr>
    <small>法律条文</small>
    <small>联系我们</small>
    <small>客户意见</small>
    <small>商户合作</small>
</footer>
</body>
</html>

页面的显示结果如下:

8.发布RunJs网页

网址:http://runjs.cn/code/jdox5j8i

在线编辑、展示、分享、交流你的 JavaScript 代码

查看我发布的页面:http://sandbox.runjs.cn/show/jdox5j8i

II.HTML5音频和视频
1.音视频的发展史
早期:embed+object+文件
不是所有的浏览器都支持,而且embed不是标准
现在:Realplay、WindowsMedia、QuickTime、Flash
每个厂商都有标准,网站格式和编码也都不相同,flash的出现解决了以上问题,
但是apple在2007年决定任何设备将不再支持flash
flash对系统消耗的资源是非常大的,如果在移动平台上播放,会很耗电
现在的Android4.0已经不再支持flash
HTML5认为浏览器应该原生支持音视频

2.视频格式
视频编码:H.264、Theora、VP8(google开源)
音频编码:ACC、MP3、Vorbis
HTML5能在完全脱离插件的情况下播放音视频
HTML5支持的视频格式
Ogg=Theora+Vorbis,支持浏览器:F、C、O
MEPG4=H.264+ACC,支持浏览器:S、C,即mp4格式的文件
WebM=VP8+Vorbis,支持I、F、C、O,播放很清晰

3.Video标签属性
<video src="文件地址" controls="播放控制"></video>
在标签内部写入不支持浏览器的文字,当用户的浏览器不支持时提示

<video src="三元悖论.mp4" controls="controls" height="200px">
  Your browser does not support the video tag!
</video>

一个video标签放入不同的资源,当第一个资源不能播放时,查找第二个

<video controls="controls" width="400px" poster="Dodecahedron.gif">
  <source src="movie1.ogg" type="video/ogg">
  <source src="movie.webm" type="video/webm">
  Your browser does not support the video tag!
</video>

Autoplay      视频就绪自动播放
controls     显示播放控件
width       像素宽度
height      像素高度
Loop        播放完毕后继续从头播放
Preload      加载完再播放
src         视频url
poster      加载等待的画面图片
Autobuffer   设置浏览器的缓存方式,不设置autoplay才有效

4.Video的API属性
play()      播放
pause()        暂停
currentTime     当前播放时间秒
muted         静音
playbackRate     播放倍速
volumn       音量,范围是从0到1

5.音频
音频格式:Ogg、MP3、Wav
<audio src="文件路径" controls="播放控制"></audio>

6.演示

\App3_HTML5\Module1_Layout\html5-video.html

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>html5音视频</title>
</head>
<body>
<!--谷歌浏览器不支持Idea的服务器上打开视频,IE11和火狐浏览器可以-->
<!--<video src="三元悖论.mp4" controls="controls" height="200px">
    Your browser does not support the video tag!
</video>
<hr>-->
<!--一个video标签放入不同的资源,当第一个资源不能播放时,查找第二个-->
<!--<video controls="controls" width="400px" poster="Dodecahedron.gif">
    <source src="movie1.ogg" type="video/ogg">
    <source src="movie.webm" type="video/webm">
    Your browser does not support the video tag!
</video>
<hr>-->
<!--使用video标签的API-->
<video src="movie.webm" controls="controls" id="video" poster="昼颜.jpg">
    Your browser does not support the video tag!
</video>
<ul>
    <li onclick="play()">播放</li>
    <li onclick="pause()">暂停</li>
    <li onclick="forward()">快进10秒</li>
    <li onclick="back()">快退10秒</li>
    <li onclick="mute(this)">静音</li>
    <li onclick="accelerate()">加速</li>
    <li onclick="normal()">正常</li>
    <li onclick="moderate()">减速</li>
    <li onclick="turnUp()">音量加</li>
    <li onclick="turnDown()">音量减</li>
</ul>
<style>
    ul{
        background: mediumpurple;
        height: 50px;
        list-style-type: none;
        margin: 0;
    }
    ul li{
        background: lawngreen;
        width: 85px;
        height: 44px;
        float: left;
        text-align: center;
        line-height: 44px;
        margin: 3px 1.5px;
    }
</style>
<script>
    var video = document.getElementById(‘video‘);
    function play(){
        video.play();
    }
    function pause(){
        video.pause();
    }
    function forward(){
        video.currentTime += 10;
    }
    function back(){
        video.currentTime -= 10;
    }
    function mute(caller){
        caller.innerHTML = (video.muted = !video.muted) ? "发音" : "静音";
    }
    function accelerate(){
        video.playbackRate = 3;
    }
    function normal(){
        video.playbackRate = 1;
    }
    function moderate(){
        video.playbackRate = 1/2;
    }
    function turnUp(){
        video.volume += 0.2;
    }
    function turnDown(){
        video.volume -= 0.2;
    }
</script>
<hr>
<!--音频标签-->
<audio src="黒石ひとみ-Stories.mp3" controls="controls">
    Your browser does not support the audio tag!
</audio>
</body>
</html>

页面的显示结果如下:

7.发布RunJs网页

因为RunJs不允许上传规定格式之外的文件,所以使用了一些其它资源的链接

访问网址进行体验:http://sandbox.runjs.cn/show/hf2ydkks

以上内容参考了:[lampbrother丛浩:HTML5]

更多文章请关注:http://www.cnblogs.com/kodoyang/

kongdongyang

2014/10/4

时间: 2024-10-28 02:49:57

HTML5_布局and音视频的相关文章

html5_音视频元素_audio&amp;video

浏览器兼容性:IE9以上以及其它现代浏览器均支持 <h2>音频播放</h2> <audio src="music.mp3" controls> 您的浏览器不支持audio元素 </audio> <h2>视频播放</h2> <video src="movie.mp4" controls> 您的浏览器不支持video元素 </video> audio.video支持的元素:

远程教育 音视频通讯技术

多媒体指挥调度系统集指挥调度.即时通讯.视频会议.音视频录播等功能于一体.该系统结构严谨.技术先进.性能稳定,适合于解放军.武警.边防.生产企业等单位.通过该系统完成远程和现场之间的语音.数据.图像等信息的实时交互,有效解决了在不同网络带宽条件下的音视频交互,达到了充分有效利用现有网络和设备资源,实现远程可视化指挥.调度目的. 网络音视频技术是基于嵌入式结构的音视频处理.控制及传输设备,将模拟音视频信号经过编码压缩后通过以太网接口,将低码率的视音频编码数据以IP 包的形式传送给多个远端PC或网络

远程网络音视频即时通讯技术

多媒体指挥调度系统集指挥调度.即时通讯.视频会议.音视频录播等功能于一体.该系统结构严谨.技术先进.性能稳定,适合于解放军.武警.边防.生产企业等单位.通过该系统完成远程和现场之间的语音.数据.图像等信息的实时交互,有效解决了在不同网络带宽条件下的音视频交互,达到了充分有效利用现有网络和设备资源,实现远程可视化指挥.调度目的. 网络音视频技术是基于嵌入式结构的音视频处理.控制及传输设备,将模拟音视频信号经过编码压缩后通过以太网接口,将低码率的视音频编码数据以IP 包的形式传送给多个远端PC或网络

Mac/iPhone 多媒体(图片、音视频)处理

Mac/iPhone 多媒体(图片.音视频)处理 如何从 iPhone 导出照片和录制的视频 应用 Image Capture(图像捕捉) "图像捕捉"在数码相机或扫描仪与您的 Mac 电脑之间传输图像.当带有摄像头的兼容设备连接到电脑时,可以使用"图像捕捉"来拍照.然后,您可以在 iPhoto 或 Automator 中使用这些图像,或者通过网络共享这些图像. 打开[图像捕捉]应用,选择要导入的已连接的 iPhone.点击底栏左侧下方的箭头按钮展开,可选择[连接此

“小程序+直播”怎样搅动音视频技术生态?

责编 / 王宇豪 策划 / LiveVideoStack 12月26日晚间,微信小程序开放了直播能力,并首先向社交.教育.医疗.政务民生.金融等五大应用场景开放.与原生App应用和基于浏览器的H5应用相比,小程序直播会对音视频技术生态带来哪些影响?微信天生的流量优势会给开发者和运营带来机会还是陷阱?LiveVideoStack邀请了若干位有代表性的技术人,分享各自的观点与思考. LiveVideoStack:对于小程序提供的这种实时音视频功能,它是否能满足我们一般的直播需求呢?比如它的延迟大致能

Android 音视频深入 十一 FFmpeg和AudioTrack播放声音(附源码下载)

项目地址,求starhttps://github.com/979451341/AudioVideoStudyCodeTwo/tree/master/FFmpeg%E6%92%AD%E6%94%BE%E9%9F%B3%E4%B9%90%EF%BC%88%E4%BF%9D%E7%A8%8B%E5%BA%8F%E4%B8%8D%E6%AD%BB%EF%BC%89 这个是FFmpeg解码出音频,给AudioTrack播放,这回才算是java与c语言之间合作 这回我们将会从c++里调用java函数,下面就

从零到一,使用实时音视频 SDK 一起开发一款 Zoom 吧

zoom(zoom.us) 是一款受到广泛使用的在线会议软件.相信各位一定在办公.会议.聊天等各种场景下体验或者使用过,作为一款成熟的商业软件,zoom 提供了稳定的实时音视频通话质量,以及白板.聊天.屏幕共享.PPT放映等常用功能.但是在当今浏览器成为端上主流的时代,实时音视频又怎甘于落后呢?相比于需要安装包的 Zoom,直接在网页上开发一款类似的会议软件肯定会受到更多的关注.当需要开会的时候,直接通过一个链接,大家就可以接入并开始会议了.现在,使用七牛实时音视频的 Web SDK,我们可以将

启动时间知多少?8款音视频类应用测评报告分析

应用开启和退出是用户最常使用的场景,应用启动时间则是用户对应用启动性能最直观的感受.应用启动时间如何进行测试?本期测评将以8款常见的音视频类应用为例,分享绿色应用启动时间测试方法及标准. 一般情况下,应用启动时间在1秒以内,用户反馈系统响应很快:1-3秒内完成启动,用户认为反应速度尚可:3-5秒内完成启动,用户会认为系统反应很慢,但是还可以接受:若启动时间超过5秒,则大部分用户会认为系统反应糟糕,甚至卸载应用. 安卓绿色联盟应用体验标准规定,应用冷启动时间应该不超过1000毫秒,热启动时间应该不

网络摄像机IPCamera RTSP直播播放网络/权限/音视频数据/花屏问题检测与分析助手EasyRTSPClient

前言 最近在项目中遇到一个奇怪的问题,同样的SDK调用,访问海康摄像机的RTSP流,发保活OPTIONS命令保活,一个正常,而另一个一发就会被IPC断开,先看现场截图: 图1:发OPTIONS,摄像机立马断流 图2:但在另一个程序中发OPTIONS保活包又不断流 在大部分的摄像机上,都没什么问题,单单在海康的这一款摄像机中出现了这种问题,不仔细对比命令行中的输出,根本无法确定问题点,图2中的OPTIONS报文中携带了Authorization的头字段,将认证信息都带入了进来,而图1中只是简单将用