如果要求你在网页中加入音频资源,你会怎么实现呢?
在h5出现以前, 我们可以借助iframe 元素插入视频资源到我们的网页中,代码实现如下:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <iframe height=498 width=510 src='http://player.youku.com/embed/XMzIzNTc0MTAwMA==' frameborder=0 ' allowfullscreen'></iframe> </body> </html>
效果如下:
此外我们还可以使用Html5 audio与video标签来引入音频媒体资源到我们的网页中,增加网页的丰富度。
<audio> 标签定义声音,比如音乐或其他音频流。这里包含.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" height="300"></video>
切换播放地址(常见于切换超清 高清 流畅,不同画质的视频地址不同)
<video src="test.mp4" controls autoplay width="400" height="300" id="test1"></video> <script> var video = document.getElementById('test1') console.log(video.src) // http://127.0.0.1:8001/test.mp4 绝对地址,DOM 中是相对地址 // video.src = 'test-2.mp4' // 直接替换掉了原来的视频src setTimeout(() => { video.src = 'test-2.mp4' // 播放到第 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('test2') 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>