首页
学习
活动
专区
工具
TVP
发布

Android弹幕功能实现,模仿斗鱼直播的弹幕效果

但是我们除了要能看到弹幕之外也要能发弹幕才行,因此还要再在弹幕的View上面再覆盖一个操作界面的View,然后我们就可以在操作界面上发弹幕、送礼物等。原理示意图如下所示: ?...实现弹幕效果 接下来我们开始实现弹幕效果。弹幕其实也就是一个自定义的View,它的上面可以显示类似于跑马灯的文字效果。...danmaku.borderColor = Color.GREEN; } danmakuView.addDanmaku(danmaku); } /** * 随机生成一些弹幕内容以供测试...但接收别人发送来的消息又涉及到了即时通讯技术,显然这一篇文章中不可能将复杂的即时通讯技术也进行讲解,因此这里我专门写了一个generateSomeDanmaku()方法来随机生成一些弹幕消息,这样就可以模拟出和斗鱼类似的弹幕效果了...由于电影播放的同时进行GIF截图生成的文件太大了,无法上传,因此这里我是在电影暂停的情况进行操作的。效果如下图所示: ? 可以看到,我们自己发送的弹幕是有一个绿色边框包围的,很容易和其他弹幕区分开。

3.7K90

前端弹幕实现

正文 功能 弹幕文字各种样式:字体大小、字体类型、字体颜色(字体透明度) 弹幕展示速度 弹幕行高度 弹幕事件:鼠标左右点击事件、鼠标滑入滑出事件 调用方式如下: const div = document.createElement...在开始正式代码开发之前需要弄清楚这种方法实现的逻辑: 首先我们需要创建一个容器来承载弹幕元素,将监听函数写到这个容器上面 初始化弹幕信息(弹幕内容、样式、速度,同时判断对象是否是dom节点)、初始弹幕容器能够显示多少行...初始项目 这一步要做的事情有: 创建弹幕容器 向弹幕容器添加监听器,我们将所有弹幕节点的监听事件都委托到弹幕容器节点上面,减少内存占用 弹幕容器宽高存入state import React, { Component...dom 当弹幕展示完成以后我们需要将对应的弹幕dom从页面中移除,之前弹幕动画借助的是transition,因此我们可以通过监听transitionend事件 handleTransitionEnd =...结语 以上就基本完成了一个简单的弹幕功能,这里还有很多拓展还没有做或者由于篇幅问题没有展示,例如: 弹幕很多的时候我们如何控制弹幕速度 弹幕停止运动 屏幕变化如何控制弹幕显示的位置

2.4K41
您找到你想要的搜索结果了吗?
是的
没有找到

2333333-弹幕弹幕的正确打开方式!

,粗鲁但充满生命力的形式欢快的奔腾进了大众视野——“弹幕+影院”、“弹幕+音乐”、“弹幕+搜索”、“弹幕+教育”,甚至“弹幕+阅读”——在这一场场看似很美的亚文化和所谓的“弹幕社交”的胜利中,有多少人受到精神污染...就表现形式来说,弹幕包括普通表现形式(普通滚动字幕,顶端固定字幕和底端固定字幕)和神弹幕表现形式(利用普通模式制作的特殊弹幕效果,和高级弹幕制作的花样弹幕效果)。...一方面,如果你选择开启弹幕,过分的弹幕厚度自然会对用户的注意力造成干扰,乃至完全覆盖观赏内容,甚至弹幕评论之间互相拥挤造成了弹幕本身的阅读障碍,这也是为什么在土豆网刚刚引入弹幕时,一大堆人都在刷“**,...这里仅对弹幕进入公共场景下的表现和与阅读体验结合的可能性做简单探讨。 “弹幕+影院” 很容易想到,其实就是将弹幕从自家的电脑屏幕搬到了影院的大荧幕上。...但从去年试映的三部弹幕电影(《小时代3》、《秦时明月》和《绣春刀》)的反馈来看,似乎弹幕和影院的化学反应并不那么容易达成——首先,适合弹幕的影片至少需要具备满满的槽点和众多粉丝,否则失去了趣味性和热闹氛围的弹幕只会徒增违和感

1.6K80

网络爬虫爬取b站励志弹幕生成词云(精心笔记总结)

前言 在进入本文之前,我很想给大家推荐b站这个视频,3080.2万播放,27.9万条弹幕。...正文 1:我们今天的目标是爬取此视频的弹幕,并生成词云。一方面是为了做笔记,总结今天学到的,另一方面,我是为了分享经验,以及让大家看到这满是正能量的弹幕词云,足以冲击你的内心。...api 3:具体实现: 我们来打开billbill这个视频主页: 我们要拿到的是弹幕数据,我们可以指定某天的弹幕数据,当然通过爬虫,我们可以全部拿下,今天,我们随便指定日期,都是一样的道理。...我们要拿到弹幕的api。那么,需要抓包。我们点击b站弹幕列表下面的查看历史弹幕。 看到上面那个日历没有,今天是2/17,那我就拿今天的弹幕。...我们看到里面是有弹幕中文的,但是也有不认识的东西。这里至少可以证明我们的url找对了。这样的弹幕数据不是我想要的,因为我还要生成词云,说以还是以代码来处理整个过程。我会解释相关的代码。

54130

浅谈弹幕的设计

形式 单条弹幕的基本模式有三种: 滚动弹幕:自右向左滚动过屏幕的弹幕,以自上而下的优先度展示。 顶部弹幕:自上而下静止居中的弹幕、以自上而下的优先度展示。...底部弹幕:自下而上静止居中的弹幕、以自下而上的优先度展示。...(倾斜向上的文字移动,让人没办法好好看字) 从用户体验角度出发——弹幕出现之后 弹幕出现后,我们的视角就集中到视频主体上,当弹幕出现时,如果是滚动弹幕,那么一般都是从右往左出发,非常适合我们的从左往右的阅读习惯...舞台 舞台是整个弹幕的主控制,它维护着多个轨道、一个等待队列、一个弹幕池。...无法复制加载中的内容 通过HTML+CSS实现的弹幕,每一个弹幕会对应一个 DOM 元素,为了减少频繁的创建,会在屏幕的左侧把上一轮已经滚出舞台的弹幕存到池子中,当有新弹幕时会重新复用。

1.2K31

看到XNA的弹幕,于是也用SilverLight弄了个弹幕

改变下心情       SilverLight的确是好东西,我把我们公司项目中的地图客户端用SilverLight改写之后,明细效果就是不一样,尤其是在回放轨迹的时候,那真叫平滑和稳定       这个弹幕生成其实很简单了...嘿嘿,那是为了防止射击死角的出现,随着度数增加,弹幕的缝隙会逐渐移动) 然后按下钮开始发射子弹,效果大家请看,子弹还是挺密集的哦。      ...不过,一般来说我们习惯性会考虑通过三角函数之类来计算动画的起始点,来生成子弹的动画轨迹,不过我这里偷了个懒,直接在一个子画布上放一个子弹,这样就可以分别应用角度转换和平移转换了。...这些子弹都打不死人,因为没办法做碰撞检测)       //******       改正:其实是可以应用多个转换的,今天才知道-____________-;       有一个需要注意的地方是,生成了那么多子弹对象...好了好了,请看Silverlight版弹幕,点击按钮开始发射子弹

1K130

Android自制精彩弹幕效果

好久没有写过文章,最近发现直播特别的火,很多app都集成了直播的功能,发现有些直播是带有弹幕的,效果还不错,今天心血来潮,特地写了篇制作弹幕的文章. 今天要实现的效果如下: 1.弹幕垂直方向固定 ?...2.弹幕垂直方向随机 ?...上面效果图中白色的背景就是弹幕本身,是一个自定义的FrameLayout,我这里是为了更好的展示弹幕的位置才设置成了白色,当然如果是叠加在VideoView上的话,就需要设置成透明色了....制作弹幕需要考虑以下几点问题: 1.弹幕的大小可以随意调整 2.弹幕内移动的item(或者称字幕)出现的位置,水平方向是从屏幕右边移动到屏幕左边,垂直方向是不能超出弹幕本身的高度的. 3.字幕移除屏幕后...新的弹幕啊!!!新的弹幕啊!!!新的弹幕啊!!!")

72351

《请回答1988》弹幕分析

《请回答1988》弹幕分析 本文是从B站提取弹幕,并生成《请回答1988》用户点评的词云图,具体代码参见请回答1988弹幕词云 [请回答1988弹幕词云图] B站弹幕提取 首先,通过b站网址,查看到《请回答...1988》木鱼水心弹幕最多的一集,其URL如下: https://www.bilibili.com/video/BV1g7411d7v7?...弹幕数据解析 以下是采用python来实现弹幕解析,并存储到本地txt文件中: 首先,需要先安装相关依赖包,例如requests、chardet等,我当前是采用的pycharm,直接在 setting的...save_danm(cid) 弹幕词云生成 特别提示:在安装wordcloud库之前,需要先安装VC_redist.x64.exe 另外,停用词目前是用的哈工大的版本,具体见后文。...具体词云生成代码如下: # 实现将弹幕生成为词云图 import pandas as pd import jieba from wordcloud import WordCloud import matplotlib.pyplot

82900

视频网站弹幕开发

探索视频网站弹幕开发(没有后端)。 效果图: 原料: phpstorm(曾经讨论过编辑器,其实记事本最厉害,编辑器不重要,重要的是写代码的人。...第一个方法用来打开、关闭弹幕,第二个方法是让弹幕动起来的,第三个方法是添加新的弹幕。...过程: step 1:写一个html页面 step 2:写一个块作为弹幕的开启open step 3:写一个块承载弹幕screen   在这个上面有三部分:     关闭close...     弹幕显示show     发射弹幕send(两个input,一个type="text",一个type="button") <div style="text-align...:init_screen()   open点击事件实现<em>弹幕</em>开启   open.toggle()   show里面的文字动起来   show.animate();   添加<em>弹幕</em>   show.append

41510

Python爬取《赘婿》弹幕

今天我们的实战内容就是把观众发送的弹幕抓取下来,并将我在爬取过程中遇到的内容分享给大家。 分析网页 一般来说,视屏的弹幕是不可能出现在网页源码中的,那么初步判断是通过异步加载弹幕数据。...爱奇艺的弹幕地址获取如下: https://cmts.iqiyi.com/bullet/参数1_300_参数2.z 参数1是:/54/00/7973227714515400 参数2是:数字1、2、3.....爱奇艺每5分钟就会加载一次弹幕,每一集下来大概是46分钟,因此弹幕的链接如下: https://cmts.iqiyi.com/bullet/54/00/7973227714515400_300_1.z...那现在我们又需要回到刚刚的起点了,需要构造弹幕URL,并向该URL发送请求,获取它的二进制数据,再进行解压缩并保存为XML文件,最后从该文件中提取弹幕数据。...所以对于我们来说,提取里面的弹幕对我们来说基本上,没有什么问题。

40150
领券