视频弹幕的基本实现的思路总结

参考视频

http://www.imooc.com/video/12261

1.需要一个显示弹幕的view的类(里面包括弹道、弹幕状态的block回调、弹幕的内容、弹道的图片、开始、结束动画的方法等),需要一个继承自NSObject的工具类(包括数据源数组、运行过程中的已显示弹幕的数据数组,存储弹幕的数组,开始、结束的方法等),统一管理弹幕。

2.一般需要实现的业务逻辑有:

1)每个弹幕都有自己的弹道,弹道需要随机分配。

2)弹幕从右边屏幕到左边屏幕匀速移出的动画,使用UIView的animation动画即可实现。一般会有弹幕越长,移动速度越快的需求。

弹幕移动的距离已知(屏幕的宽,弹幕自身的宽),只需要将每个弹幕的时间设置为一样的,距离除以时间,即可使每个弹幕移动速度不一样。

3)当一个弹幕完全进入屏幕之后,可以在该弹道后面追加弹道,及从数据模型的数组中,取出新一条的数据,创建新的弹道的view.

注意:这个地方需要使用延迟动画的方法,如果使用UIView的延迟动画,后面停止弹幕的时候,取消动画会出现问题,所以这里需要使用performSelector      delay这个方法,后面停止的时候,调用NSObject 的cancel开头的一个方法。

4)当一个弹幕完全移出屏幕之后,需要将该弹幕移除。

5)停止弹幕 :需要将存有弹幕的数组清空,停止每个弹幕的动画。

6)循环播放弹幕:在工具类中写一个外部接口的方法,当调用这个方法时,将之前保存在数组中的弹幕清空,重新创建弹幕即可。当所有弹幕都移出屏幕时,调用这个方法

7)可以在弹幕的前边添加圆形图片,用于显示用户的头像。

8)弹幕的状态一共分为三种,进入,完全进入,完全移出,可以在弹幕的view类中定义一个枚举,有三种状态,根据弹幕不同的状态,回调给工具类,工具类根据不 同的状态进行相应的处理。

时间: 2024-10-16 01:09:51

视频弹幕的基本实现的思路总结的相关文章

视频弹幕开源库

昨天看到群里有人共享了视频弹幕类库,就下载下来测试了一下,发现效果还错,于是整理一下,发布出来,有需要的朋友可以下载来看看.先上个图看看效果: 下载地址:http://pan.baidu.com/s/1nt5wK1z

谁能给我讲讲原理——视频弹幕游戏!!

舍友在一个叫BliBli的视频网站上找到这样一个视频弹幕游戏,说实话我当时一看真的惊呆了. 从来没有见过这种能够互动的.充满游戏性的视频,用户WASD可以控制飞机移动躲避字幕,撞到字幕左上角死亡次数还可以计数,字幕还并不是单一的一个方向,还包含运动轨迹,这里面还包含碰撞检测!?可能是我知道的太少,我真的觉得太神奇了.哪位IT大神可以给我解释一下,这是怎么做到的!??(链接在下面) 点击打开链接 上图: It's amazing!!视频地址: http://www.bilibili.com/vi

python 爬取B站视频弹幕信息

获取B站视频弹幕,相对来说很简单,需要用到的知识点有requests.re两个库.requests用来获得网页信息,re正则匹配获取你需要的信息,当然还有其他的方法,例如Xpath.进入你所观看的视频的页面,F12进入开发者工具,选择网络.查找我们需要的信息,发现域名那列有comment.bilibili.com 格式为xml ,文件名即为cid号.点击它后,在右边的消息头中复制请求网址,在浏览器中打开,即可获得视频全部弹幕信息.    代码如下: 1 import requests 2 imp

java 视频播放 弹幕技术 视频弹幕 视频截图 springmvc mybatis SSM

A代码编辑器,在线模版编辑,仿开发工具编辑器,pdf在线预览,文件转换编码B 集成代码生成器 [正反双向](单表.主表.明细表.树形表,快速开发利器)+快速表单构建器 freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面.建表sql脚本,处理类,service等完整模块C 集成阿里巴巴数据库连接池druid??数据库连接池??阿里巴巴的 druid.Druid在监控.可扩展性.稳定性和性能方面都有明显的优势D 集成安全权限框架shiro??Shiro 是一个用 Java 语言

Canvas + WebSocket + Redis 实现一个视频弹幕

原文出自:https://www.pandashen.com 页面布局 首先,我们需要实现页面布局,在根目录创建 index.html 布局中我们需要有一个 video 多媒体标签引入我们的本地视频,添加输入弹幕的输入框.确认发送的按钮.颜色选择器.字体大小滑动条,创建一个 style.css 来调整页面布局的样式,这里我们顺便创建一个 index.js 文件用于后续实现我们的核心逻辑,先引入到页面当中. HTML 布局代码如下: <!-- 文件:index.html --> <!DOC

react视频弹幕播放

不要陷入轮子的围城中 说的确实没错.. 那我为什么还要研究这个弹幕系统呢 因为我没有发现业界有特别高端的弹幕播放器 基于html5的 也可能是我见的少 如果你发现优秀的弹幕播放器 务必告知! 研究这个之前我度娘了一下相关的html5弹幕播放器 还是有相关插件的 但是都太low 太low 太low... 那些每帧运动几个像素和无视弹幕重叠问题的弹幕播放器都不用考虑! 我理想的弹幕系统要尽可能的解决重叠问题 而且每条弹幕的运动轨迹不光只是从右往左的线性运动 还可以是各种参数方程 如下效果 上面就有2

JS原生实现视频弹幕Demo(仿)

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>Js原生弹幕</title> <link rel="stylesheet" href=""&

Python爬虫b站视频弹幕并生成词云图分析

爬虫:requests,beautifulsoup 词云:wordcloud,jieba 代码加注释: 1 # -*- coding: utf-8 -*- 2 import xlrd#读取excel 3 import xlwt#写入excel 4 import requests 5 import linecache 6 import wordcloud 7 import jieba 8 import matplotlib.pyplot as plt 9 from bs4 import Beaut

那些H5用到的技术(4)——弹幕

前言思路实现模式无限循环模式时间线模式停止显示弹幕 前言 以前玩卷轴射击游戏的时候,大量的BOSS子弹让我们无路可逃的时候,让我见识到了真正弹幕的威力,可自从A站B站火了之后,大量评论留言参与到了视频的播放中,也让我见识到了"弹幕"的威力,压根视频就没法看了--全看评论去了,就是那么好玩. 现在没有弹幕功能都不好意思说是做视频or直播网站的.而我们也不能落后呐,产品提需求了,活动H5里面弄个弹幕留言,看起来就高大上有木有啊,以前的静态留言形势都太古板啦,弹幕才能用户high起来啊!好吧