成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

實現B站彈幕很難么?這個開源項目了解一下

開發 前端
說起B站,最有特色的功能就是彈幕,現在彈幕已成為各大視頻網站的標配,其實,彈幕最早是誕生于日本的一個二次元網站Niconico。后來A站和B站將其引入,開啟了國內彈幕文化的先河。

說起B站,最有特色的功能就是彈幕,現在彈幕已成為各大視頻網站的標配,其實,彈幕最早是誕生于日本的一個二次元網站Niconico。后來A站和B站將其引入,開啟了國內彈幕文化的先河。

相比點贊、轉發、評論,彈幕的形式讓用戶的互動性更強,因此也更受大家喜愛,很多人已經養成了看視頻必開彈幕的習慣。

假如程序員自己要實現一個彈幕功能會難么?已經有人在Github上造了一個——rc-bullets。rc-bullets是一個基于 CSS3 Animation,使用 React 構建,可擴展,高性能的彈幕組件。

rc-bullets已經在Github上標星 331,累計分支 33。(詳情:https://github.com/zerosoul/rc-bullets)

rc-bullets具有以下特性:

  • 支持傳入 React 組件,靈活控制彈幕內容和 UI,并提供一個默認樣式組件:
  • 彈幕屏幕管理:清屏,暫停,隱藏(后續可能會加入針對單個彈幕的控制)
  • 彈幕動畫參數化:運動函數(勻速/ease/步進/cubic-bezier)、時長(秒)、循環次數、延遲等
  • 鼠標懸浮彈幕暫停

接下來看一下彈幕效果:

 

安裝方式

npm:

  1. npm install --save rc-bullets 

yarn:

  1. yarn add rc-bullets 

初始化一個簡單的彈幕場景:

  1. import React, { useEffect, useState } from 'react'
  2. import BulletScreen, { StyledBullet } from 'rc-bullets'
  3.  
  4. const headUrl='https://zerosoul.github.io/rc-bullets/assets/img/heads/girl.jpg'
  5. export default function Demo() { 
  6.   // 彈幕屏幕 
  7.   const [screen, setScreen] = useState(null); 
  8.   // 彈幕內容 
  9.   const [bullet, setBullet] = useState(''); 
  10.   useEffect(() => { 
  11.     // 給頁面中某個元素初始化彈幕屏幕,一般為一個大區塊。此處的配置項全局生效 
  12.     let s = new BulletScreen('.screen',{duration:20}); 
  13.     // or 
  14.     // let s=new BulletScreen(document.querySelector('.screen)); 
  15.     setScreen(s); 
  16.   }, []); 
  17.   // 彈幕內容輸入事件處理 
  18.   const handleChange = ({ target: { value } }) => { 
  19.     setBullet(value); 
  20.   }; 
  21.   // 發送彈幕 
  22.   const handleSend = () => { 
  23.     if (bullet) { 
  24.       // push 純文本 
  25.       screen.push(bullet); 
  26.       // or 使用 StyledBullet 
  27.  
  28.       screen.push( 
  29.         <StyledBullet 
  30.           head={headUrl} 
  31.           msg={bullet} 
  32.           backgroundColor={'#fff'
  33.           size='large' 
  34.         /> 
  35.       ); 
  36.       // or 還可以這樣使用,效果等同使用 StyledBullet 組件 
  37.       screen.push({msg:bullet,head:headUrl,color:"#eee" size="large" backgroundColor:"rgba(2,2,2,.3)"}) 
  38.     } 
  39.   }; 
  40.   return ( 
  41.     <main> 
  42.       <div className="screen" style={{ width: '100vw', height: '80vh' }}></div> 
  43.       <input value={bullet} onChange={handleChange} /> 
  44.       <button onClick={handleSend}>發送</button> 
  45.     </main> 
  46.   ); 

);}

責任編輯:未麗燕 來源: 開源最前線
相關推薦

2023-11-18 09:09:08

GNUBSD協議

2020-12-10 08:44:35

WebSocket輪詢Comet

2022-03-24 13:36:18

Java悲觀鎖樂觀鎖

2025-05-23 08:00:00

gocronGo語言運維

2024-09-19 09:30:39

緩存框架抽象

2018-01-04 09:20:55

python爬蟲視頻彈幕

2021-09-09 06:18:04

交互功能彈幕

2020-02-10 14:26:10

GitHub代碼倉庫

2019-02-20 14:16:43

2018-06-05 17:40:36

人工智能語音識別

2024-04-11 12:19:01

Rust數據類型

2021-10-09 18:26:59

二叉樹多叉樹搜索

2022-03-07 06:34:22

CQRS數據庫數據模型

2019-07-02 08:40:43

Windows 功能系統

2020-03-01 17:53:38

Excel大數據微軟

2018-07-17 14:42:50

2024-02-28 18:22:13

AI處理器

2015-05-07 09:32:55

APP開源

2021-02-07 10:34:21

可視化編程Numpy

2021-03-05 09:58:50

鴻蒙HarmonyOS開源
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久国产精品无码网站 | 在线观看国产视频 | 久久中文字幕一区 | 久久中文视频 | 久久久久亚洲精品中文字幕 | 视频二区国产 | 精品视频在线一区 | 黑人巨大精品欧美一区二区免费 | 在线观看视频福利 | 成人在线免费观看 | 国产资源一区二区三区 | 久久国产婷婷国产香蕉 | 日韩一区二区在线视频 | 第一av| 色综合视频 | 亚洲a级 | 欧美久久天堂 | 久久在线精品 | 99精品亚洲国产精品久久不卡 | 精产国产伦理一二三区 | 精品国产不卡一区二区三区 | 成人在线不卡 | 男女视频在线观看免费 | 久久精品中文字幕 | 欧美精品一区二区三区视频 | 天堂一区 | 成人在线播放网站 | 91视频在线网站 | 日韩一区二区三区在线观看 | 国产精品久久久久婷婷二区次 | 美女天天操| 日韩精品一区二区三区中文在线 | 亚洲电影免费 | xx视频在线 | 欧美精品一区二区在线观看 | 国产亚洲欧美在线 | 99精品一级欧美片免费播放 | 欧美成人精品一区二区男人看 | 天天想天天干 | 日韩欧美在线一区 | 国产精品久久九九 |