Android上的弹幕控件OpenDanmaku

简介

OpenDanmaku是Android中目前非常流行的第三方弹幕控件,可以实现在播放视频、直播和评论模块中弹出用户的实时评论,并且以滚动的方式显示。该框架非常适合应用在商城、音乐播放和新闻类软件中的评论功能模块。

项目地址

https://github.com/linsea/OpenDanmaku 

效果演示

使用方法

1.在build.gradle添加module

implementation project(':opendanmaku')

在官方的项目中,是在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:end_Y_offset="0.8"
            app:max_row="4"
            app:max_running_per_row="2"
            app:pick_interval="1000"
            app:show_debug="false"
            app:start_Y_offset="0.2" />

DanmakuView的自定义属性

 * start_Y_offset

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

 * end_Y_offset

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

 * max_row

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

 * max_running_per_row

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

 * pick_interval 

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

 * show_debug 

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

3.在代码中引入OpenDanmaku

 /**
     * 构建弹幕的数据集合
     * @return
     */
    private List<IDanmakuItem> initItems() {
        List<IDanmakuItem> list = new ArrayList<>();
        //创建100条文本的弹幕
        for (int i = 0; i < 100; i++) {
            IDanmakuItem item = new DanmakuItem(this, i + " : plain text danmuku", mDanmakuView.getWidth());
            list.add(item);
        }
        //创建100条文本带图片的弹幕
        String msg = " : text with image   ";
        for (int i = 0; i < 100; i++) {
            ImageSpan imageSpan = new ImageSpan(this, R.drawable.em);
            SpannableString spannableString = new SpannableString(i + msg);
            spannableString.setSpan(imageSpan, spannableString.length() - 2, spannableString.length() - 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
            IDanmakuItem item = new DanmakuItem(this, spannableString, mDanmakuView.getWidth(), 0, 0, 0, 1.5f);
            list.add(item);
        }
        return list;
    }

  //添加到弹幕控件里面
        mDanmakuView.addItem(list, true);

这样基本就实现了在播放视频的时候弹幕的滚动以及发送弹幕。如果有需要代码的话,可以去我的csdn或者是github上进行下载。

下载

CSDN:https://download.csdn.net/download/wen_haha/10861562

Github:https://github.com/kongkongdaren/OpenDanmakuDemo

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值