PHP前端开发

h5新增标签audio与video的使用

百变鹏仔 2小时前 #H5教程
文章标签 标签

        如果要求你在网页中加入音频资源,你会怎么实现呢?

        在h5出现以前, 我们可以借助iframe 元素插入视频资源到我们的网页中,代码实现如下:

    <!DOCTYPE html>    <html lang="en">        <head>            <meta charset="UTF-8">            <title>Document</title>        </head>        <body>            <iframe height=498 width=510 src=&#39;http://player.youku.com/embed/XMzIzNTc0MTAwMA==&#39; frameborder=0 &#39;            allowfullscreen&#39;></iframe>        </body>    </html>

效果如下:

此外我们还可以使用Html5 audio与video标签来引入音频媒体资源到我们的网页中,增加网页的丰富度。

标签定义声音,比如音乐或其他音频流。这里包含.mp3或者.ogg格式的音频文件, 可以在开始标签和结束标签之间放置文本内容,这样老的浏览器就可以显示出不支持该标签的信息,如下:

        <!DOCTYPE html>        <html lang="en">                    <head>                <meta charset="UTF-8">                <title>h5 audio标签的使用</title>            </head>                        <body>                <audio controls loop>                    <source src="bgsound.mp3" />                    <source src="music.ogg" />                    您的浏览器版本太低                </audio>             </body>                </html>

效果如下(chrome浏览器):给audio标签添加controls属性可以向用户显示控件,比如播放按钮;loop属性表示每当音频结束时重新开始播放。

audio标签在不同浏览器下的效果存在差异:

许多时髦的网站都提供视频,直到现在,仍然不存在一项旨在网页上显示视频的标准。今天,大多数视频是通过插件(比如 Flash)来显示的。然而,并非所有浏览器都拥有同样的插件。

HTML5 规定了一种通过 video 元素来包含视频的标准方法。并且video元素支持HTML 中的全局属性(如class,id,title , style等)与事件属性(如onresize,onredo等)。

        <!DOCTYPE html>        <html lang="en">                    <head>                <meta charset="UTF-8">                <title>Document</title>            </head>                        <body>                            <video autoplay controls>                                <source src="movie04.ogg" />                    <source src="mp4.mp4" />                    Opps,您的浏览器版本太低,暂不支持该视频的播放~                </video>            </body>                </html>


video 属性


你还可以设置视频窗口大小

    <video src="test.mp4" controls width="400"  style="max-width:90%"></video>

切换播放地址(常见于切换超清 高清 流畅,不同画质的视频地址不同)

<video src="test.mp4" controls autoplay width="400" height="300" id="test1"></video>  <script>    var video = document.getElementById(&#39;test1&#39;)    console.log(video.src)     // http://127.0.0.1:8001/test.mp4   绝对地址,DOM 中是相对地址    // video.src = &#39;test-2.mp4&#39;   // 直接替换掉了原来的视频src        setTimeout(() => {      video.src = &#39;test-2.mp4&#39;  // 播放到第 30s 的时候,自动切换视频        }, 30000)    </script>

切换备用地址, video标签中可以嵌入多个source元素做播放地址的后援切换,当第一段视频加载失败时,会自动加载下一段视频。

    <video controls autoplay width="400" height="300" id="test2">        <source src="test3.mp4" type="video/mp4" />        <source src="test9.mp4" type="video/mp4" />        <source src="test-2.mp4" type="video/mp4" />    </video>    <script>        var video = document.getElementById(&#39;test2&#39;)        setTimeout(() => {          console.log(video.currentSrc)     // http://127.0.0.1:8001/test-2.mp4           }, 1000)             // HTTP 载入失败,状态码 404。媒体资源 http://127.0.0.1:8001/test3.mp4 载入失败。        // HTTP 载入失败,状态码 404。媒体资源 http://127.0.0.1:8001/test9.mp4 载入失败。            </script>