HTML5本地視訊播放器設計(+彈幕功能)
重點是設計html5播放器互動介面,滑動條,頁面佈局,簡易彈幕
1.整體外觀:
2.完整程式碼很長,所以不放了,之後上傳。
3.
(1)首先是佈局,通過居中的div控制整個區域居中,上邊是video 下邊是control塊,再下方是彈幕輸入框。理解position屬性,將進度條、時間、音量區域、全屏區域通過css設定屬性放在control塊中。
(2)播放按鈕是純css製作,
.play{
width: 25px;
height: 25px;
position: relative;
top: 7.5px;
left: 20px;
display: inline-block;
}
.play:before{
border: 12.5px solid transparent;
border-left: 12.5px solid #000;
content: "";
position: absolute;
left:6.25px;
}
利用css的一個技巧,設定border得到播放圖示。
暫停圖示也是css製作,但是不是利用border,是利用:before,:after 設定高寬背景色得到。
(3)進度條是參考了網易雲音樂的音樂進度條設計的,由此學到了巧妙使用position-image屬性,可以快速實現很多很棒的效果。注意背景影像的定位是關鍵,也可以在偽類中改變背景圖片位置,從而改變圖示。(背景圖片上面有很多圖示,通過限制區域大小以及背景圖片位置來達到修改顯示的圖示效果)。
進度條其實是三個顏色,我使用了兩個,沒有考慮預載入。通過進度修改紅色進度條長度。
另外,可以點選改變進度,但不可以拖動。拖動功能在音量條進行了實現,實現方法見另一個文章。
(4)時間的實現:
duration屬性得到視訊總長,通過自己寫的secondToMinute()轉換成00:00形式輸出。再得到當前時間顯示。
(5)音量:
通過display屬性設定音量條的顯示與消失。
(6)全屏函式:
點選全屏,注意不同的瀏覽器全屏函式基本都不同,參考網上的總結進行了相容性寫法。
(7)彈幕實現,通過在video上方鋪一個運動的canvas實現彈幕效果。下方input中輸入後,回車或者按下button即可傳送,回車方式比較簡單,監控e.keyCode ,實際開發過程遇到回車就會頁面重新整理,這是因為表單預設都是要返回本頁面,需要在form中設定 ousubmit=”return false;” 這樣就可以解決。
關於canvas線性運動,是通過給新建立的canvas一個寫好的className,在其中已經寫好動畫效果。
實際還遇到了canvas內部文字混亂問題,文字大小設定失效,完全與canvas大小相關,最後也不知道怎麼解決。最後canvas可以顯示的文字為8個左右,超出就隱藏。不過基本的彈幕功能完美實現了。
寫了好幾天的程式碼,完成了很開心。
後記:
寫完文章之後,突然想到一個點子,canvas效能不好,為什麼不能用div呢,只要把背景色設定為transparent,應該可以。然後測試了一下,效果超級好!!一直在想大的視訊網站彈幕用什麼做呢 ,現在覺得就是div啊 ,思路被影響了,其實就是一個透明屬性就可以解決的問題。
總結:2017/10/9
這是我以前寫的一個H5播放器,很多錯誤,比如彈幕可以使用div而不是canvas,div本身鏤空,背景色不需要處理;滑動條有一些問題,全域性定位沒必要用那麼多絕對定位。
相關文章
- Dplayer Html5 彈幕視訊播放器的實現HTML播放器
- 基於HTML5有彈幕功能的播放器HTML播放器
- html5 canvas實現高併發視訊彈幕功能HTMLCanvas
- 使用vue控制video視訊和彈幕功能VueIDE
- 用canvas實現視訊播放與彈幕功能Canvas
- 視訊彈幕外掛
- 【html5多媒體】自定義播放器(彈幕,水印,甚至在視訊開頭新增封面)HTML播放器
- 實現播放視訊及彈幕
- 「Premiere中文新手教程」視訊彈幕製作REM
- 7款很棒的 HTML5 視訊播放器HTML播放器
- 彈幕播放器【在專案中對彈幕播放器一些零碎的整理】播放器
- Facebook平臺視訊正式轉向HTML5播放器HTML播放器
- 使用 mask 實現視訊彈幕人物遮罩過濾遮罩
- Android彈幕功能實現,模仿鬥魚直播的彈幕效果Android
- 分享一個功能很全的視訊播放器播放器
- Flutter · Python AI 彈幕播放器來襲FlutterPythonAI播放器
- 視訊播放器播放器
- 前端演算法之彈幕設計前端演算法
- video標籤製作簡易版彈幕視訊IDE
- Go使用websocket實現彈幕功能GoWeb
- vue pc端實現 直播功能+彈幕Vue
- 使用Dplayer實現Vue3中的視訊及彈幕播放Vue
- html5視訊HTML
- 自定義視訊播放器播放器
- 視訊播放器工具Infuse播放器
- HTML5 音訊和視訊HTML音訊
- iOS 圖解一個功能很全的視訊播放器的使用iOS圖解播放器
- 阿里雲視訊播放器阿里播放器
- MPC-HC視訊播放器播放器
- ASP.NET 視訊播放器ASP.NET播放器
- WebComponent+WebGl的實時影象處理彈幕播放器Web播放器
- 億級曝光品牌視訊的幕後設定
- 使用danmuplayer.js外掛實現Java web網站視訊發彈幕JSJavaWeb網站
- [微信音訊播放器] html5 audio 製作的微信播放器音訊播放器HTML
- 一個基礎功能的視訊播放器(XXVideoPlayer)-AVPlayer封裝播放器IDE封裝
- HTML5視訊videoHTMLIDE
- H5視訊播放器特性H5播放器
- 開源視訊播放器介紹播放器