HTML5音樂、視頻等新媒體播放標簽video、audio、embed與object介紹以及使用方式


音頻播放器

音頻的播放用"audio"標簽實現對音頻的控制

1 <audio src="http://www.ytmp3.cn/down/44456.mp3" controls="controls" align="center">
2 </audio>
3 <h5>半城煙沙</h5>
4 <audio src="2.mp3" controls="controls">
5 </audio>
6 </audio>
7 <h5>櫻花草</h5>
8 <audio src="yinyue/1.mp3" controls="controls" loop="loop">
9 </audio>

它有src,controls,loop,perload,autoplay等屬性。

  • src是audio的必須的一個屬性,寫音樂的地址
  • controls 是audio的一個重要屬性,它有暫停,進度條等功能,其中谷歌瀏覽器的controls支持下載,不支持音量的調度,而火狐瀏覽器支持音量調節不支持下載
  • loop屬性是是否設置循環,有了loop屬性,這個音頻將循環播放
  • autoplay屬性只媒體加載完成后自動播放
  • perload指的是預加載,none,metadata,auto分別是屬性的三個選項,none不進行預加載,metadata只加載元字節,auto則全部加載

視頻播放器

視頻的播放用"video"標簽對視頻進行控制與audio相同的是,audio的屬性video都有

 

1 <video width="500"higth="400" src="http://edge.ivideo.sina.com.cn/212550342.mp4?KID=sina,viask&Expires=1555776000&ssig=bkhlo665%2Bx"controls="controls"poster="images/1.jpg"></video>

 

錯誤信息的erro屬性:
在視頻或音頻發生播放錯誤時,會發送一個Mediaerror對象,該對象對應的code屬性返回對應的屬性錯誤碼,其可能值為:

MeDIA_ERR_ABORTED(數值1)下載過程中用戶操作原因終止
MEDIA_ERR_NETWORE(數值2)媒體資源可用,下載過程中網絡錯誤
MWDIA_ERR_DECODE(數值3 媒體資源可用,但是解碼時錯誤
MWDIA_ERR_SRC_NOT_SUPPORTED(數值4)媒體資源不可用,或者不支持格式
讀取錯誤狀態的代碼如下:

 1 <srcipt>
 2     var video=document.getElemenetById("video Element");
 3     video.addEventListener("error",function ()
 4         {
 5           var error=video.eror;
 6           switch(error.code)
 7           {
 8               case 1:
 9                   alert("視頻的下載被操作終止");
10                   break;
11               case 2:
12                   alert("網絡故障,視頻下載終止");
13                   break;
14               case 3:
15               {
16                   alert("解碼錯誤");
17                   break;
18               }
19               case 4:
20               {
21                   alert("不支持此類格式,視頻出錯");
22                   break;
23               }
24               default:
25               {
26                   alert("發生未知錯誤");
27               }
28           }
29         },false);
30     </script>

network State屬性
用於檢測加載過程中的網絡狀態,不常用,並不詳細介紹

它有四個返回值:

  • 0表示初始狀態
  • 1表示未建立網絡連接
  • 2表示媒體數據加載中
  • 3表示沒有合適的編碼,不加載

embed

 

embed和object都是網頁用的嵌入腳本,用來播放flash文件的

如果使用的是flash文件或者其他video標簽不支持的格式。那么可以使用embed標簽插入。

embed標簽只支持PC端,移動端無效,video標簽移動和PC端均支持,如果你的視頻文件是mp4格式的,那么推薦使用video標簽,兼容PC端和移動端。

我們要在網頁中正常顯示flash內容,那么頁面中必須要有指定flash路徑的標簽。也就是OBJECT和EMBED標簽

 embed標簽是html5版本新增的標簽,是使用來定義嵌入的內容(如插件、媒體等)

如果瀏覽器沒安裝沒啟用flash,那么瀏覽器會跳出一個提示框訪問是否要自動安裝flash player。

object和embed的區別:
是為了兼容不同瀏覽器,IE只支持對Object的解析;火狐,谷歌,Safari只支持對Embed的解析。注意:使用<object>+<embed>是為了更好的兼容性,如果場景允許,推薦使用<object>

語法

1 <embed src="/i/helloworld.swf" type="application/x-shockwave-flash" />

embed標簽屬性值:

 

標簽屬性設置 說明             
src 被嵌入內容的地址
type 嵌入內容的文件類型MIME類型
autostart 自動播放(boolean)
loop 循環播放(boolean)
hidden 控制面板是否顯示(true,no)
starttime=mm:ss(分:秒) 開始播放的時間
volume 音量大小(0~100)
height、width 容器屬性
units 該屬性指定高和寬的單位為pixels或en
controls=console 一般正常面板(多屬性值)
name 該屬性給對象取名,以便其他對象利用
title= 說明文字
palette=color|color 表示嵌入的音頻或視頻文件的前景色和背景色,第一個值為前景色,第二個值為背景色,中間用 | 隔開。color可以是RGB色(RRGGBB)也可以是顏色名
align 規定控制面板和當前行中的對象的對齊方式

 


embed支持很多媒體類型比如圖像、音頻、視頻、可以參考文件類型IANA MIME 類型)列表,說明:embed標簽是一個空標簽,沒有元素內容。在html中可以不關閉標簽,而在xhtml中必須使用“/”關閉標簽,如:<embed />

MIME(Multipurpose Internet Mail Extensions)多用途互聯網郵件擴展類型。是設定某種擴展名的文件用一種應用程序來打開的方式類型,當該擴展名文件被訪問的時候,瀏覽器會自動使用指定應用程序來打開。

常用的MIME類型:

 

 

文件后綴 Mime類型 說明
.flv flv/flv-flash  在線播放
.html或.htm  text/html  超文本標記語言文本
.rtf  application/rtf RTF文本
.gif  image/gif GIF圖形
.jpeg或.jpg  image/jpeg JPEG圖形
.au audio/basic  au聲音文件
.mid或.midi audio/midi或audio/x-midi MIDI音樂文件
.ra或.ram或.rm  audio/x-pn-realaudio RealAudio音樂文件
.mpg或.mpeg或.mp3  video/mpeg MPEG文件
.avi  video/x-msvideo AVI文件
.gz application/x-gzip GZIP文件
.tar application/x-tar  TAR文件
.exe  application/octet-stream 下載文件類型
.rmvb  video/vnd.rn-realvideo  在線播放
.txt  text/plain 普通文本
.mrp  application/octet-stream  MRP文件(國內普遍的手機)
.ipa application/iphone-package-archive IPA文件(IPHONE)
.deb  application/x-debian-package-archive DED文件(IPHONE)
.apk application/vnd.android.package-archive  APK文件(安卓系統)
.cab application/vnd.cab-com-archive  CAB文件(Windows Mobile)
.xap application/x-silverlight-app  XAP文件(Windows Phone 7)
.sis application/vnd.symbian.install-archive SIS文件(symbian平台)
.jar  application/java-archive JAR文件(JAVA平台手機通用格式)
.jad text/vnd.sun.j2me.app-descriptor JAD文件(JAVA平台手機通用格式)
.sisx  application/vnd.symbian.epoc/x-sisx-app  SISX文件(symbian平台)

Object

object參數說明
param name標簽是在這個播放插件中嵌入的一些功能和播放參數,比如(你可以抄下來): 
<param name="playcount" value="1"><!--控制重復次數: “x”為幾重復播放幾次; x=0,無限循環。--> 
<param name="autostart" value="0"><!--控制播放方式: x=1,打開網頁自動播放; x=0,按播放鍵播放。--> 
<param name="clicktoplay" value="1"><!--控制播放開關: x=1,可鼠標點擊控制播放或暫停狀態; x=0,禁用此功能。--> 
<param name="displaysize" value="0"><!--控制播放畫面: x=0,原始大小; x=1,一半大小; x=2,2倍大小。--> 
<param name="enablefullscreen controls" value="1"><!--控制切換全屏: x=1,允許切換為全屏; x=0,禁用此功能。--> 
<param name="showaudio controls" value="1"><!--控制音量: x=1,允許調節音量; x=0,禁止音量調節。--> 
<param name="enablecontext menu" value="1"><!--控制快捷菜單: x=1,允許使用右鍵菜單; x=0,禁用右鍵菜單。--> 
<param name="showdisplay" value="1"><!--控制版權信息: x=1,顯示電影及作者信息;x=0,不顯示相關信息--> 
<param NAME="AutoStart" VALUE="-1"><!--是否自動播放--> 
<param NAME="Balance" VALUE="0"><!--調整左右聲道平衡,同上面舊播放器代碼--> 
<param name="enabled" value="-1"><!--播放器是否可人為控制--> 
<param NAME="EnableContextMenu" VALUE="-1"><!--是否啟用上下文菜單--> 
<param NAME="url" VALUE="http://1.wma"> <!--播放的文件地址--><param NAME="PlayCount" VALUE="1"><!--播放次數控制,為整數--> 
<param name="rate" value="1"><!--播放速率控制,1為正常,允許小數,1.0-2.0--> 
<param name="currentPosition" value="0"><!--控件設置:當前位置--> 
<param name="currentMarker" value="0"><!--控件設置:當前標記--> 
<param name="defaultFrame" value=""><!--顯示默認框架--> 
<param name="invokeURLs" value="0"><!--腳本命令設置:是否調用URL--> 
<param name="baseURL" value=""><!--腳本命令設置:被調用的URL--> 
<param name="stretchToFit" value="0"><!--是否按比例伸展--> 
<param name="volume" value="50"><!--默認聲音大小0%-100%,50則為50%--> 
<param name="mute" value="0"><!--是否靜音-- 
<param name="uiMode" value="mini"><!--播放器顯示模式:Full顯示全部;mini最簡化;None不顯示播放控制,只顯示視頻窗口;invisible全部不顯示--><param name="windowlessVideo" value="0"><!--如果是0可以允許全屏,否則只能在窗口中查看--> 
<param name="fullScreen" value="0"><!--開始播放是否自動全屏--> 
<param name="enableErrorDialogs" value="-1"><!--是否啟用錯誤提示報告--> 
<param name="SAMIStyle" value><!--SAMI樣式--> 
<param name="SAMIFilename" value><!--字幕ID--> 

使用 object 和 embed 標簽來嵌入,細心的會發現,object 的很多參數和 embed 里面的很多屬性是重復的,為什么這樣做?為了瀏覽器兼容性,有的瀏覽器支持 object,有的支持 embed,這也是為什么要修改 Flash 的參數時兩個地方都要改的原因。這種方法是 Macromedia 一直以來的官方方法,最大限度的保證了 Flash 的功能,沒有兼容性問題。
現階段用 JS 嵌入 Flash 是最完美的方法.

對於不支持object的瀏覽器,可以使用如下方式,瀏覽器將跳過object,識別embed元素:

<object width="400" height="40" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0">
 <param name="SRC" value="bookmark.swf">
 <embed src="bookmark.swf" width="400" height="40"></embed>
</object>

播放音頻可使用object、embed,此外html5也有audio標簽與video相對應,且用法相同。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM