文档章节

一个Android上的弹幕控件Open Danmaku

l
 linsea
发布于 2015/10/23 18:38
字数 412
阅读 8447
收藏 10
点赞 1
评论 3
弹幕现在很流行,特别是在视频播放时,安卓上没有简单好用的弹幕控件.
这里提供一个简单易用的自定义弹幕控件.
项目地址: https://github.com/linsea/OpenDanmaku



使用方法

完整的使用方法请查看项目的Demo.

1. 在build.gradle文件中加入依赖.

dependencies {
    compile 'com.linsea:opendanmaku:1.0.0@aar'
 }

2. 在布局文件中加入自定义的弹幕View.
<com.opendanmaku.DanmakuView
        android:id="@+id/danmakuView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        app:start_Y_offset="0.2"
        app:end_Y_offset="0.8"
        app:max_row="4"
        app:max_running_per_row="2"
        app:pick_interval="1000"
        app:show_debug="false" />

3. 在Activity中生成弹幕对象,并加入到播放列表中.
mDanmakuView = (DanmakuView) findViewById(R.id.danmakuView);

// add danmaku items:
mDanmakuView.addItem(list, true);
mDanmakuView.addItem(new DanmakuItem(this, "Hello World", mDanmakuView.getWidth());

//show danmaku and play animation:
mDanmakuView.show();

//hide and pause playing:
mDanmakuView.hide();

//release all playing and waiting items:
mDanmakuView.clear();

DanmakuView的自定义属性


 * start_Y_offset

第一条播放航道距离弹幕View上边缘的偏移量,注意值是百分比量,以弹幕View的高度为基准,简而言之就是弹幕View的上边缘空出多少百分比.

 * end_Y_offset

与上一个属性类似,最后一条播放航道距离弹幕View上边缘的偏移量,注意值是百分比量,以弹幕View的高度为基准,主要作用是便于在弹幕View的底部留出一定的空白.

 * max_row

设置最多多少条播放航道.

 * max_running_per_row

每条航道上最多同时有多少条弹幕运行.

 * pick_interval 

每隔多少毫秒取出一条弹幕来播放.

 * show_debug 

是否显示航道线及播放帧率,调试时很有用,主要用于调试.


© 著作权归作者所有

共有 人打赏支持
l
粉丝 4
博文 11
码字总数 10693
作品 0
广州
技术主管
加载中

评论(3)

bolt07
bolt07
视频播放了。。字幕的字多了一层重影。。。。??
B
BG6FVG
挺厉害的
烟火飘零
烟火飘零
这个貌似CPU占用有点高哟, 单独的一个页面用这个还可以,要是有多个这种的view就不太适合了.
linsea/OpenDanmaku

Android Open Danmaku 一个Android的弹幕控件. Open Danmaku is a Android widget which shows danmaku animation(https://github.com/linsea/OpenDanmaku). Usage For a working implementa......

linsea ⋅ 2016/03/04 ⋅ 0

啊啊啊啊啊豆豆/Damoo

Damoo An HTML5 Danmaku Engine. 一个不起眼的 HTML5 弹幕引擎。 Getting started 走起 Download the latest release. 下载最新发行版本。 Damoo requires a complete DOM with a suitable ......

啊啊啊啊啊豆豆 ⋅ 2015/06/01 ⋅ 0

HTML5 弹幕引擎--Damoo

Damoo 是一个轻量级的 HTML5 弹幕引擎。可以在页面元素上附加一层弹幕图层并且以非常简单的 API 调用方式使用。查看DEMO Damoo 一个不起眼的 HTML5 弹幕引擎。 Getting started 走起 下载最新...

啊啊啊啊啊豆豆 ⋅ 2015/06/01 ⋅ 1

andriod 基本的直播弹幕实现 (二)

之前写过一个简单的视屏弹幕的效果,不过这种弹幕是远远无法满足我们的需求的。 接下来讲一下我们的第二个办法(效果如下,实现如下): implementation'com.github.ctiao:DanmakuFlameMast...

九尾74 ⋅ 05/11 ⋅ 0

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

转载请注明出处:http://blog.csdn.net/sinyu890807/article/details/51933728 本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 郭霖 即可关注,每天都有文章更新。 大家...

sinyu890807 ⋅ 2016/10/18 ⋅ 0

Android系统源码分析团体项目BeesAndroid正式上线啦

嗨,BeesAndroid开源技术小组正式成立啦,Bees,即蜜蜂,取义分享、合作与奉献的意思,这也是BeesAndroid小组的宗旨,我们第一个团体项目BeesAndroid也于2018年3月6日同步上线,该项目的前 ...

郭孝星 ⋅ 03/08 ⋅ 0

安卓巴士Android开发者门户

一、开源库 1.SimpleRatingBar 简单好用的ratingbar 2.NumberRain Android自定义控件仿黑客帝国数字雨 3.CacheWebView 突破系统WebView缓存的空间限制的WebView 4.lucklypopupwindow Android...

迷你芊宝宝 ⋅ 昨天 ⋅ 0

弹幕转换工具--Danmaku2ASS

Danmaku2ASS 用来将来自 Niconico/Acfun/Bilibili 的评论转成 ASS 格式,这样就可以在任意支持 ASS 字母的媒体播放器中使用弹幕。 使用方法: usage: danmaku2ass.py [-h] [-f FORMAT] [-o O...

StarBrilliant ⋅ 2017/02/05 ⋅ 0

Android弹幕实现:基于B站弹幕开源系统(4)-重构

 Android弹幕实现:基于B站弹幕开源系统(4)-重构 弹幕在视频播放的APP中比较常见,但是逻辑比较复杂,现在在附录1,2,3的基础上,我再次对弹幕进行抽象和重构,把弹幕从底向上抽象成不同...

zhangphil ⋅ 2017/04/01 ⋅ 0

MPV 播放 Bilibili 视频--BiliDan

注:本项目已经停止维护,不保证能用。在可以预见的将来,也不会再加入新的功能。 使用 MPV 播放 Bilibili.com 上的视频,支持弹幕! 为什么使用 BiliDan? Bilibili 使用基于 Flash 的视频播...

MikeManilone ⋅ 2015/08/30 ⋅ 2

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Cube、Cuboid 和 Cube Segment

1.Cube (或Data Cube),即数据立方体,是一种常用于数据分析与索引的技术;它可以对原始数据建立多维度索引。通过 Cube 对数据进行分析,可以大大加快数据的查询效率 2.Cuboid 在 Kylin 中特...

无精疯 ⋅ 29分钟前 ⋅ 0

github太慢

1:用浏览器访问 IPAddress.com or http://tool.chinaz.com 使用 IP Lookup 工具获得github.com和github.global.ssl.fastly.net域名的ip地址 2:/etc/hosts文件中添加如下格式(IP最好自己查一...

whoisliang ⋅ 31分钟前 ⋅ 0

非阻塞同步之 CAS

为解决线程安全问题,互斥同步相当于以时间换空间。多线程情况下,只有一个线程可以访问同步代码。这种同步也叫阻塞同步(Blocking Synchronization). 这种同步属于一种悲观并发策略。认为只...

长安一梦 ⋅ 41分钟前 ⋅ 0

云计算的选择悖论如何对待?

人们都希望在工作和生活中有所选择。但心理学家的调查研究表明,在多种选项中进行选择并不一定会使人们更快乐,甚至不会产生更好的决策。心理学家Barry Schwartz称之为“选择悖论”。云计算为...

linux-tao ⋅ 44分钟前 ⋅ 0

我的第一篇个人博客

虽然这是个技术博客,但是,我总是想写一些自己的东西,所有就大胆的在这里写下了第一篇非技术博客。技术博客也很久没有更新,个人原因。 以后自己打算在这里写一些非技术博客,可能个人观点...

Mrs_CoCo ⋅ 45分钟前 ⋅ 0

Redis 注册为 Windows 服务

Redis 注册为 Windows 服务 redis 注册为 windows 服务相关命令 注册服务 redis-server.exe –service-install redis.windows.conf 删除服务 redis-server –service-uninstall 启动服务 re......

Os_yxguang ⋅ 45分钟前 ⋅ 0

世界那么大,语言那么多,为什么选择Micropython,它的优势在哪?

最近国内MicroPython风靡程序界,是什么原因导致它这么火呢?是因为他功能强大,遵循Mit协议开源么? 错!因为使用它真的是太舒服了!!! Micropython的由来,这得益于Damien George这位伟大...

bodasisiter ⋅ 48分钟前 ⋅ 0

docker 清理总结

杀死所有正在运行的容器 docker kill $(docker ps -a -q) 删除所有已经停止的容器(docker rm没有加-f参数,运行中的容器不会删掉) docker rm $(docker ps -a -q) 删除所有未打 dangling 标...

vvx1024 ⋅ 59分钟前 ⋅ 0

关于学习

以前学车的时候,教练说了这样的一句话:如果一个人坐在车上一直学,一直学,反而不如大家轮流着学。因为一个人一直学,就没有给自己留空间来反思和改进。而轮流着学的时候大家下来之后思考上...

mskk ⋅ 今天 ⋅ 0

压缩工具之gzip-bzip2-xz

win下常见压缩工具:rar zip 7z linux下常见压缩工具:zip gz bz2 xz tar.gz tar.bz2 tar.xz gzip 不支持目录压缩 gzip 1.txt #压缩。执行后1.txt消失,生成1.txt.gz压缩文件 gzip -d 1.txt....

ZHENG-JY ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部