HTML5高級-01

視頻處理

在HTML5中播放視頻

  • 在HTML5中播放視頻
    1.HTML5中提到最多的就是視頻處理,視頻是互聯(lián)網(wǎng)中的重要應(yīng)用.在HTML5中,添加了一個新元素,以便在HTML文檔中插入和播放視頻,這個元素就是video元素

2.video元素提供了播放,暫停和音量控制來控制視頻,也提供了width 和height 屬性來控制視頻的尺寸
(IE8以及以前的版本不支持)

3.使用video元素至少要提供兩種視頻格式的文件:OGG和MP4

OGG:包含Theora視頻和Vorbis音頻解碼器
MP4:采用H.264視頻和AAC音頻解碼器

瀏覽器 MP4 WebM Ogg
IE9+ yes no no
Chrome yes yes yes
Firefox3.6+ no yes yes
Safari5+ yes no no
Opera10.6+ no yes yes
  • video元素
    1.video元素可以實現(xiàn)在HTML頁面中嵌入視頻內(nèi)容,該元素的屬性可以設(shè)置為是否自動播放,預(yù)加載及視頻高寬等
<video width="360" height="240" src="source/video.mp4">
     視頻不能播放
</video>

src屬性:用于讀取媒體文件
autoplay屬性:設(shè)置該視頻是否自動播放
width 和height 屬性:設(shè)置該視頻的寬度和高度

2.video元素中可以使用source元素來向瀏覽器提供備選視頻格式

<video width="360" height="240">
   <source src="source/video.mp4/">
   <source src="source/video.ogg/">
視頻不能播放
</video>

(source元素中的src屬性和video元素屬性作用相同,都是用于讀取媒體文件)
注:使用source元素讀取流媒體,video元素不需要使用src屬性

  • video屬性,video元素具備以下屬性

controls:該屬性是video元素特有屬性,用于顯示瀏覽器所提供的視頻控件按鈕

<video width="360" height="240"
          src="source/video.mp4"autoplay controls>
        視頻不能播放
</video>

(autoplay設(shè)置這個屬性時,加載視頻后自動播放)
poster: 該屬性指定一個URL,在視頻等待播放時顯示一幅圖像

preload:該屬性可以設(shè)置三個值
1.none: 不緩存視頻,為了減少不必要的流量
2.metadata:播放前只加載視頻的高度,寬度和其他此類信息
3.auto:默認值,要求瀏覽器盡可能快的下載視頻
loop:設(shè)置這個屬性時,瀏覽器會反復(fù)播放該視頻

編程實現(xiàn)視頻播放器

  • 事件
    1.在不同的瀏覽器實現(xiàn)video代碼,播放器控件的圖形設(shè)計會有一些差別,每一種瀏覽器都有其特殊的按鈕和進度條,設(shè)置還有一些特殊的特性,為了讓各瀏覽器顯示效果保持一致,需要使用HTML5支持新的視頻事件,屬性和方法,來保持一致

2.HTML5加入了新的事件API.在視頻和音頻處理中,HTML5包含一些通知媒體狀態(tài)的事件,如下載進度,視頻是否結(jié)束等

3.下面是一些常用事件:
progress:用于更新媒體的下載進度,會周期性的觸發(fā)
conplaythrough:當(dāng)整個媒體可以順利播放時,就會觸發(fā)這個事件
conplay:不考慮整體狀態(tài),只要下載了一定的可放幀會觸發(fā)這個事件
ended:媒體到達末尾時觸發(fā)
pause:媒體暫停時觸發(fā)
play:媒體開始播放時觸發(fā)
error:媒體播放出現(xiàn)錯誤時觸發(fā)

window.onload=function(){
  elem=document.getElementById('media');
  elem.addEventListener('pause',userPause,flase);
  elem.addEventListener('play',userPlay,flase);
}
function userPause(){
  .........
}
function userPlay(){
  ......................
}
  • 方法
    下面是HTML5新增加的媒體處理方法
    play() 播放媒體文件
    pause() 暫停播放
    load() 加載媒體文件,動態(tài)應(yīng)用程序可使用該方法提前加載
    canPlayType(type)查看瀏覽器是否支持這種文件格式的媒體文件
window.onload=function(){
var  elem=document.getElementById('media');
var btn=document.getElementById('play');
if(elem.paused){
 elem.play();
 btn.value="暫停";
}else{
 elem.pause();
 btn.value="開始";
}
}
  • 屬性
    html5新增的針對視頻元素的處理屬性如下:
    paused 媒體處于暫?;蛭床顟B(tài),這個值為true
    ended 如果媒體已經(jīng)結(jié)束播放,這個值為true
    duration 返回媒體時長,以秒為單位
    currentTime 獲取或設(shè)置媒體播放位置

音頻處理

在HTML5中播放音頻

  • audio元素
    audio元素可以實現(xiàn)在HTML頁面中嵌入音頻內(nèi)容,該元素的屬性可以設(shè)置是否播放,預(yù)加載及循環(huán)播放等
    audio元素提供了播放,暫停,音量控件來控制音頻
  • audio屬性
    3.使用audio元素至少要提供三種音頻格式的文件:MP3.Ogg,Wav
    3.1MP3:采用mpeg音頻解碼器
    3.2Ogg:采用ogg音頻解碼器
    3.3Wav:采用wav音頻解碼器

瀏覽器 MP3 Wav Ogg
IE9+ yes no no
Chrome6+ yes yes yes
Firefox3.6+ no yes yes
Safari5+ yes yes no
Opera10.6+ no yes yes


語法結(jié)構(gòu):

<audio src="mp3/yellow.mp3" controls>
</audio>
或:
<audio controls>
<source src=
"mp3/yellow.mp3"/>
</audio>

audio元素支持一下屬性:
src:指定播放文件的URL,可通過<source>
controls:可激活各瀏覽器提供的默認頁面
autoplay: 加載音頻后自動播放
preload: 緩存設(shè)置

編程實現(xiàn)音頻播放器

  • 事件,方法
    HTML5媒體API支持視頻和音頻,視頻所支持的每一種事件,方法和屬性,音頻都有對應(yīng)的支持
    常用事件:
    ended
    pause
    play
    常用方法:
    play()
    pause()

HTML5表單元素

表單簡介

無論是實現(xiàn)功能還是展示頁面元素,表單的HTML中都有不可代替的作用
在其他版本的HTML中,表單包含的元素非常有限,并且屬性也不多,尤其是在數(shù)據(jù)交互過程中數(shù)據(jù)的驗證需要編寫大量的JavaScript代碼
上述的不足,都已經(jīng)在HTML5中被克服了,HTML5在以上的基礎(chǔ)上增加了許多標簽以及屬性,為開發(fā)人員帶來方便

input類型

  • 電子郵件類型
    功能描述:輸入E-mail地址的文本框
    語法:<input type="email"/>

  • 搜索類型
    輸入搜索關(guān)鍵字操作的文本框
    語法:<input type="search"/>

  • URL類型
    輸入Web站點地址的文本框
    語法:<input type="url"/>

  • 電話號碼類型
    主要針對電話號碼的輸入,能夠指示瀏覽器根據(jù)不同的設(shè)備進行調(diào)整
    語法:<input type="tel"/>

  • 數(shù)字類型
    只能接受數(shù)字值
    語法:<input type="number"/>
    屬性:
    min:當(dāng)前域能接受的最小值
    max:當(dāng)前域能接受的最大值
    step:決定了域所接受值的遞增或遞減的步長.默認為1

  • 范圍類型
    允許用戶選擇一個范圍的數(shù)值
    語法:<input type="range" min="10" max="1000" value="50"/>
    屬性:
    min 范圍的下限值
    max 范圍的上限值
    step 聲明該值遞增或遞減的步長
    value 設(shè)置初始值

  • 顏色類型
    預(yù)定義顏色拾取控件
    語法:<input type="color"/>

  • 日期類型
    創(chuàng)建一個日期輸入域
    語法:<input type="date"/>

  • 周類型
    與data類似,但是只能選擇周
    語法:<input type="week"/>

  • 月份類型
    與data類型很相似,但是只能選擇一個月份
    語法:<input type="month"/>

  • 日期與時間類型
    支持輸入完整的時間和日期,包括時區(qū)
    語法:<input type="datatime"/>

  • 本地日期與時間類型
    支持輸入完整的時間和日期,但不包括時區(qū)
    語法:<input type="datatime-local"/>

新表單元素

  • Datalist元素
    <datalist>元素是一個表單特有的元素,它可以使用list屬性預(yù)創(chuàng)建一組列表項,后面可以為輸入框的輸入提示
<datalist id="mylist">
  <option value="010" label="北京"/>
  <option value="021" label="上海"/>
  <option value="023" label="重慶"/>
  <option value="022" label="天津"/>
</datalist>
<input type="text" name="address" list="mylist">
  • Progress元素
    <progress>表示一個任務(wù)的完成進度,而且通常這些任務(wù)都在表單中啟動和處理
    屬性:
    Value:任務(wù)執(zhí)行的進度
    Max:聲明任務(wù)完成后達到的值
<progress max="100" value="20"></progress>
  • Meter元素
    Meter元素可用于顯示刻度,而非進度
    屬性:
    min,max 設(shè)置范圍邊界
    value 確定測量的值
    low high optimum 將范圍劃分為不同的部分和設(shè)置最佳位置
<meter min="0" max="100 low="20" high="80" optimum="70"value="55"/>
  • Output元素
    1.Output元素通常用于顯示表單元素處理的結(jié)果值
    屬性:
    for 將output元素與參與計算的源元素相關(guān)聯(lián).目的是為了提高代碼的可讀性
<form 
oninput="x.value=parseInt(a.value)+parseInt(b.value)"
>0
  <input type="range" id="a" value="50">100+
  <input type="number" id="b" value="50">=
  <output name="x" for="a b"></output>
</form>

HTML5表單屬性

屬性介紹

有一些輸入類型要求使用特定的屬性才能顯示效果,如前面提到過的min max step 其他輸入類型需要使用一些屬性來改進其他性能,或者決定驗證過程的重要性

HTML5標準中原來的基礎(chǔ)上增加了一些新的屬性:Placeholder屬性、Multiple屬性、Autofocus屬性、Form屬性

屬性詳解

  • Placeholder屬性
    Placeholder屬性通常用于search輸入類型,也可以用在文本域,它表示一個簡單提示,單詞或詞匯,可用于幫助用戶輸入正確的內(nèi)容.該屬性能夠在文本域的內(nèi)部顯示一些內(nèi)容
    語法: <input type="text" placeholder="請輸入用戶名稱">

  • Multiple屬性
    Multiple屬性可以用在一些輸入類型中(email file等)
    從而支持在一個域中輸入多個值,但說插入的值必須用逗號分隔
    語法:<input type="email" multiple>

  • Autofocus屬性
    Autofocus屬性會在網(wǎng)頁加載時自動讓域獲得焦點,相但與JavaScript中的focus()方法,適用于所有input元素
    語法:<input type="text" autofocus/>

  • Form屬性
    Form屬性是一個實用的附加功能,它可用于form標簽之外聲明元素
    語法:

<form id="myform">
</form>
<input type="text" form="myform" name="uname"/>
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容