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播放器
- 使用vue控制video視訊和彈幕功能VueIDE
- 整理一些非常流行現代HTML5彈幕影片播放器HTML播放器
- 實現播放視訊及彈幕
- 「Premiere中文新手教程」視訊彈幕製作REM
- Flutter · Python AI 彈幕播放器來襲FlutterPythonAI播放器
- 前端演算法之彈幕設計前端演算法
- video標籤製作簡易版彈幕視訊IDE
- 使用 mask 實現視訊彈幕人物遮罩過濾遮罩
- 分享一個功能很全的視訊播放器播放器
- Go使用websocket實現彈幕功能GoWeb
- vue pc端實現 直播功能+彈幕Vue
- 彈幕樹洞專案功能新增篇
- WebComponent+WebGl的實時影象處理彈幕播放器Web播放器
- 使用Dplayer實現Vue3中的視訊及彈幕播放Vue
- 自定義視訊播放器播放器
- 視訊播放器工具Infuse播放器
- 阿里雲視訊播放器阿里播放器
- fastadmin 彈出視窗的功能AST
- iOS 圖解一個功能很全的視訊播放器的使用iOS圖解播放器
- 億級曝光品牌視訊的幕後設定
- Muti-Barrage 一個多功能的Android彈幕庫Android
- MPV 播放器:Linux 下的極簡視訊播放器播放器Linux
- 短視訊系統原始碼,直播間實現彈幕的自動傳送原始碼
- 開源視訊播放器介紹播放器
- H5視訊播放器特性H5播放器
- 視訊播放器全屏旋轉方案播放器
- 視訊播放器Infuse PRO mac版播放器Mac
- Mac視訊播放器哪個好用?Mac播放器
- Movist Pro for Mac(Mac視訊播放器)Mac播放器
- 抖音協議直播間彈幕資訊解析協議
- 彈幕外掛
- 多功能音訊播放器:foobar2000 for mac音訊播放器Mac
- 2.1 萬 Star!一個開源免費、功能強大的視訊播放器庫播放器
- ReactNative乾貨分享——視訊播放器AppReact播放器APP
- vs2017使用vlc視訊播放器播放器
- Cisdem Video Player for mac(高清視訊播放器)IDEMac播放器
- Mac強大的視訊播放器:InfuseMac播放器
- 獲取本地圖片/視訊地圖