本文介绍如何在页面中添加音频和视频等对象,包括HTML5新增的audio和video元素,以及传统的object和embed元素。
audio用于添加音频播放元素,video则用于添加视频播放元素,它们有一些相同的属性,如:
此外,video元素还可以使用width和height属性设置视频播放界面的尺寸,使用poster属性设置视频播放前的图片。
下面的代码定义了一个audio元素,请自行准备/audio/1.mp3音频文件。
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> </head> <body> <audio src="/audio/1.mp3" controls loop autoplay></audio> </body> </html>
audio元素在Chrome浏览器中的默认显示效果如下图所示。
不同的计算机系统和软件环境对于音视频格式的支持也是不同的,提供服务时,相同的内容可以准备多种格式的媒体文件,然后,audio或video元素中使用多个source元素指定不同格式的媒体文件,客户端环境会自动选择支持的格式播放。在<source>标记中,可以src属性指定媒体文件的位置,type属性设置媒体的MIME类型。下面的代码演示了多种音频格式文件的定义。
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> </head> <body> <audio controls loop autoplay> <source src="/audio/1.ogg" type="audio/ogg" /> <source src="/audio/1.mp3" type="audio/mp3" /> <source src="/audio/1.wma" type="audio/x-ms-wma" /> </audio> </body> </html>
页面中,还可以使用JavaScript代码控制audio和video元素,常用的操作方法和属性包括:
下面的代码演示了JavaScript代码控制视频播放的基本方法,需要准备/video/1.mp4文件。
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> </head> <body> <video id="audio1" width="320" height="200" src="/video/1.mp4" controls></video> <div> <input type="button" value="播放1X" onclick="audio_play1x();" /> <input type="button" value="2X" onclick="audio_play2x();" /> <input type="button" value="暂停" onclick="audio_pause();" /> </div> </body> </html> <script> function audio_play1x() { var aud = document.getElementById("audio1"); aud.playbackRate = 1; aud.play(); } function audio_play2x() { var aud = document.getElementById("audio1"); aud.playbackRate = 2; aud.play(); } function audio_pause() { var aud = document.getElementById("audio1"); aud.pause(); } </script>
Chrome浏览器中的显示效果如下图所示。
object元素可以在页面中插入多种类型的对象,其常用属性包括:
下面的代码演示了如何使用object元素视频,需要准备/video/1.mp4视频文件。
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> </head> <body> <object width="320" height="200" data="/video/1.mp4" type="video/mp4"></object> </body> </html>
embed元素同样用于页面中插入各种对象,其常用属性包括:
下面的代码演示了使用embed对象播放/video/1.mp4。
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> </head> <body> <embed width="320" height="200" src="/video/1.mp4" autostart="true" controls="console"> </body> </html>