一、基礎知識
1.用法
<video src="./video/mv.mp4">video>
注意:audio和video元素必須同時包含開始和結束標簽,不能使用
2.重要HTML屬性
controls:ontrol:如果出現該屬性,則向用戶顯示控件,比如播放按鈕。每個瀏覽器中的播放控件都不太一樣,但用途都一樣,都可以控制開始和結束,跳到新位置和調節音量
autoplay:autoplay:如果出現該屬性,則視頻在就緒后馬上播放。如果不設置autoplay屬性,必須是用戶單擊播放按鈕才會播放音頻文件。
loop:loop:(循環播放)告訴瀏覽器在音頻到達末尾時,再從頭開始重新播放
preload:auto、mete、none:告訴瀏覽器如何下載音頻
- auto:讓瀏覽器下載整個文件,以便用戶單擊播放按鈕時就能播放。當然,下載過程是后臺進行的,網頁訪客不必等待下載完成,而且仍然可以隨意查看網頁。
- meta:告訴瀏覽器先獲取音頻文件開頭的數據塊,從而足以確定一些基本信息(比如音頻的總時長)
- none:**告訴瀏覽器不必預先下載。恰當地利用這些值,可以節省帶寬。
如果沒有設置preload屬性,瀏覽器就自己決定是否預先下載了。對這一點,不同瀏覽器的處理方式也不一樣。多數瀏覽器將auto作為默認值,但Firefox的默認值是metadata。不過,也請大家注意,這個preload屬性也不是必須嚴格執行的規則,而只是你對瀏覽器的建議。根據具體情況,瀏覽器可以忽略你的設置。(有些舊版本瀏覽器根據不會在意preload屬性。)
3.常用事件
事件名稱 : 解釋
oncanplay:當文件就緒可以開始播放時運行的腳本(緩沖已足夠開始時)。
ontimeupdate: 當播放位置改變時(比如當用戶快進到媒介中一個不同的位置時)運行的腳本。
onended:當媒介已到達結尾時運行的腳本(可發送類似“感謝觀看”之類的消息)。
4.常用方法
方法名稱 :解釋
play():開始播放音頻/視頻
pause():暫停當前播放的音頻/視頻
5.常用API屬性
屬性名稱 : 解釋
duration:返回當前音頻/視頻的長度(以秒計)
paused:設置或返回音頻/視頻是否暫停
currentTime:設置或返回音頻/視頻中的當前播放位置(以秒計)
ended:返回音頻/視頻的播放是否已結束
更多屬性、事件、方法請查看w3school
二、打造自己的播放器
我們使用JavaScript控制播放控件的行為(自定義播放控件),實現如下功能:
- 利用HTML+CSS制作一個自己的播放控件條,然后定位到視頻最下方
- 視頻加載loading效果
- 播放、暫停
- 總時長和當前播放時長顯示
- 播放進度條
- 全屏顯示