衆所周知,16年無疑是直播行業的春天,同時也是H5的一次高潮。
so,到如今用H5技術在移動端作網頁直播也是見怪不怪了,可是!!!
今天咱們的主角是webApp下播放視頻
參考文獻:
1)HTML5+CSS3+JQuery打造自定義視頻播放器
2)mui Html5 Video 實現方案
3)移動端HTML5<video>視頻播放優化實踐html
首先咱們在HB下建立一個新的app項目,名稱爲 欠債html5
新建一個video.htmlios
webkit-playsinline : 在ios中,加入此屬性,能夠關閉自動全屏播放
object-fit:fill : 視頻充滿video容器的大小
詳細理由請看參考文獻2or3web
在此咱們向項目裏放置一個mp4格式的視頻,視頻內容不限,能夠是小動畫,也能夠是
segmentfault
ps:要在meta中加上,不然視頻會擴充變形哦app
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
OK,如今佈局已經完成,一個視頻已經在頁面中了ide
旁白:尼瑪,點了沒反應,那這怎麼播放?佈局
樓主:大家這羣傢伙看別的小視頻等個1小時都行。。。flex
旁白:一個簡單的播放器,至少要有 暫停/播放,進度條,視頻時長,全屏等控件吧優化
樓主:來來來,不要急,先來個播放按鈕寫在video標籤後面
<div class="bad-video"> <video class="" webkit-playsinline style="object-fit:fill;"> <source src='xx.mp4' type="video/mp4"></source> <p>設備不支持</p> <video> <img src="img/play.png"/> </div>
寫好樣式、
.bad-video { position: relative; overflow: hidden; background-color: #CCCCCC; } .bad-video .vplay{ position: absolute; width: 15%; z-index: 99; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }
樓主:噹噹噹
再在後面加一個控制條
<img src="img/play.png" class="vplay" /> <div class="controls"> <div> <div class="progressBar"> <div class="timeBar"></div> </div> </div> <div><span class="current">00:00</span>/<span class="duration">00:00</span></div> <div><span class="fill">全屏</span></div> </div>
.bad-video .controls { width: 100%; height: 2rem; line-height: 2rem; font-size: 0.8rem; color: white; display: block; position: absolute; bottom: 0; background-color: rgba(0, 0, 0, .55); display: -webkit-flex; display: flex; } .bad-video .controls>* { flex: 1; } .bad-video .controls>*:nth-child(1) { flex: 6; } .bad-video .controls>*:nth-child(2) { flex: 2; text-align: center; } .bad-video .controls .progressBar { margin: .75rem 5%; position: relative; width: 90%; height: .5rem; background-color: rgba(200, 200, 200, .55); border-radius: 10px; } .bad-video .controls .timeBar { position: absolute; top: 0; left: 0; width: 0; height: 100%; background-color: rgba(99, 110, 225, .85); border-radius: 10px; }
總算有個看起來像樣的了
旁白:樓主,但是仍是不能播放啊
樓主:叫你別急,要不你先去擼一把,我寫好了文字@你
旁白:好啊,早說嘛,我先走了,記得@我
樓主:你走,省的我精神分裂碼兩我的的字
好,如今Html元素已經基本上弄好啦,看起來不是那麼low了