日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
實(shí)現(xiàn)B站彈幕很難么?這個(gè)開源項(xiàng)目了解一下

說起B(yǎng)站,最有特色的功能就是彈幕,現(xiàn)在彈幕已成為各大視頻網(wǎng)站的標(biāo)配,其實(shí),彈幕最早是誕生于日本的一個(gè)二次元網(wǎng)站Niconico。后來A站和B站將其引入,開啟了國(guó)內(nèi)彈幕文化的先河。

成都創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站制作、成都做網(wǎng)站與策劃設(shè)計(jì),南和網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:南和等地區(qū)。南和做網(wǎng)站價(jià)格咨詢:18982081108

相比點(diǎn)贊、轉(zhuǎn)發(fā)、評(píng)論,彈幕的形式讓用戶的互動(dòng)性更強(qiáng),因此也更受大家喜愛,很多人已經(jīng)養(yǎng)成了看視頻必開彈幕的習(xí)慣。

假如程序員自己要實(shí)現(xiàn)一個(gè)彈幕功能會(huì)難么?已經(jīng)有人在Github上造了一個(gè)——rc-bullets。rc-bullets是一個(gè)基于 CSS3 Animation,使用 React 構(gòu)建,可擴(kuò)展,高性能的彈幕組件。

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

rc-bullets具有以下特性:

  • 支持傳入 React 組件,靈活控制彈幕內(nèi)容和 UI,并提供一個(gè)默認(rèn)樣式組件:
  • 彈幕屏幕管理:清屏,暫停,隱藏(后續(xù)可能會(huì)加入針對(duì)單個(gè)彈幕的控制)
  • 彈幕動(dòng)畫參數(shù)化:運(yùn)動(dòng)函數(shù)(勻速/ease/步進(jìn)/cubic-bezier)、時(shí)長(zhǎng)(秒)、循環(huán)次數(shù)、延遲等
  • 鼠標(biāo)懸浮彈幕暫停

接下來看一下彈幕效果:

安裝方式

npm:

 
 
 
 
  1. npm install --save rc-bullets 

yarn:

 
 
 
 
  1. yarn add rc-bullets 

初始化一個(gè)簡(jiǎn)單的彈幕場(chǎng)景:

 
 
 
 
  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.   // 彈幕內(nèi)容 
  9.   const [bullet, setBullet] = useState(''); 
  10.   useEffect(() => { 
  11.     // 給頁(yè)面中某個(gè)元素初始化彈幕屏幕,一般為一個(gè)大區(qū)塊。此處的配置項(xiàng)全局生效 
  12.     let s = new BulletScreen('.screen',{duration:20}); 
  13.     // or 
  14.     // let s=new BulletScreen(document.querySelector('.screen)); 
  15.     setScreen(s); 
  16.   }, []); 
  17.   // 彈幕內(nèi)容輸入事件處理 
  18.   const handleChange = ({ target: { value } }) => { 
  19.     setBullet(value); 
  20.   }; 
  21.   // 發(fā)送彈幕 
  22.   const handleSend = () => { 
  23.     if (bullet) { 
  24.       // push 純文本 
  25.       screen.push(bullet); 
  26.       // or 使用 StyledBullet 
  27.  
  28.       screen.push( 
  29.         
  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.     
     
  42.       
 
  •        
  •       發(fā)送 
  •      
  •   ); 
  • 發(fā)送 );}


    網(wǎng)站名稱:實(shí)現(xiàn)B站彈幕很難么?這個(gè)開源項(xiàng)目了解一下
    鏈接分享:http://www.5511xx.com/article/cdeccis.html