弹幕opendanmaku.DanmakuView+节操播放器JCVideoPlayerStandard的实现

Android 弹幕(bilibili-DanmakuFlameMaster)—1 1、地址:DanmakuFlameMaster 2、依赖: implementation 'com.github.ctiao:DanmakuFlameMaster:0.9.25' implementation 'com.github.ctiao:ndkbitmap-armv7a:0.9.21' // Other ABIs: optional implementation 'com.github.ctiao:ndkbitmap-armv5:0.9.21' implementation 'com.gith 阅读详情

一、依赖

//弹幕
compile 'com.linsea:opendanmaku:1.0.0@aar'
//节操播放器
compile 'fm.jiecao:jiecaovideoplayer:5.5'
compile 'com.github.bumptech.glide:glide:3.7.0'//根据自己的喜好,使用图片加载框架

二、布局

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <!--弹幕-->
    <RelativeLayout
        android:id="@+id/relativelayout_danmu"
        android:layout_width="match_parent"
        android:layout_height="300dp">
        <fm.jiecao.jcvideoplayer_lib.JCVideoPlayerStandard
            android:id="@+id/videoplayer"
            android:layout_width="340dp"
            android:layout_height="200dp"
            android:layout_margin="10dp">
        </fm.jiecao.jcvideoplayer_lib.JCVideoPlayerStandard>
        <com.opendanmaku.DanmakuView
            android:id="@+id/danmakuView"
            android:layout_width="340dp"
            android:layout_height="200dp"
            android:layout_margin="10dp"
            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"
            android:alpha="10" />
    </RelativeLayout>

    <LinearLayout
        android:layout_below="@+id/relativelayout_danmu"
        android:layout_width="match_parent"
        android:orientation="horizontal"
        android:layout_height="wrap_content"
        tools:ignore="NotSibling">
        <EditText
            android:focusable="true"
            android:id="@+id/et"
            android:layout_width="0dp"
            android:singleLine="true"
            android:layout_weight="3"
            android:layout_height="wrap_content"
            android:textColor="#ff3660"
            android:hint="请输入弹幕内容" />
        <Button
            android:text="发送弹幕"
            android:layout_weight="1"
            android:layout_width="0dp"
            android:id="@+id/bt"
            android:layout_height="wrap_content" />
       <!-- <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="夜间模式"
            android:id="@+id/yejian"/>-->
    </LinearLayout>
</RelativeLayout>

三、代码   

MainActivity
import android.graphics.Bitmap;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import com.bumptech.glide.Glide;
import com.opendanmaku.DanmakuItem;
import com.opendanmaku.DanmakuView;
import java.util.ArrayList;
import java.util.List;
import fm.jiecao.jcvideoplayer_lib.JCVideoPlayerStandard;

public class MainActivity extends AppCompatActivity {
    private EditText et;
    private Button bt;
    private String ettext;
    private DanmakuView mDanmakuView;
    private JCVideoPlayerStandard jcVideoPlayerStandard;
    private ImageView mImageView;
    private List<Bitmap> mList=new ArrayList<Bitmap>();
    private int mIndex = 0;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        /*
        * 弹幕
        * */
        et = (EditText) findViewById(R.id.et);
        bt = (Button) findViewById(R.id.bt);
        mDanmakuView = (DanmakuView) findViewById(R.id.danmakuView);
        jcVideoPlayerStandard = (JCVideoPlayerStandard) findViewById(R.id.videoplayer);
        jcVideoPlayerStandard.setUp("http://ssb-video.oss-cn-qingdao.aliyuncs.com/Video_1003_20161027140007.mp4"
                , JCVideoPlayerStandard.SCREEN_LAYOUT_NORMAL, "播放视频的标题,可以为空");
        Glide.with(getApplicationContext()).load("http://p.qpic.cn/videoyun/0/2449_43b6f696980311e59ed467f22794e792_1/640").into(jcVideoPlayerStandard.thumbImageView);
        bt.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                ettext = et.getText().toString();
                mDanmakuView.addItem(new DanmakuItem(MainActivity.this, ettext, mDanmakuView.getWidth()));
            }
        });
        mDanmakuView.show();
    }
    @Override
    protected void onDestroy() {
        super.onDestroy();
        if(mList != null){
            mList.clear();
            mList = null;
        }
    }
    
}

Android弹幕控件OpenDanmaku:自定义与集成指南 在构建互动性十足的现代应用时,弹幕技术提供了一种独特的用户参与方式。作为一款功能强大的弹幕控件,它在游戏、直播、社交等应用中扮演着至关重要的角色。其允许开发者通过简单的配置就能实现弹幕功能的多样化定制,从而加深用户互动体验。本章节将概述OpenDanmaku控件的基本结构与功能,为接下来深入了解定制化弹幕样式、弹幕模式支持、性能优化与集成等核心内容奠定基础。接下来,我们将深入探讨如何通过OpenDanmaku定制弹幕的视觉元素,以及如何实现各种弹幕动画效果,为用户提供视觉上的愉悦体验。 阅读详情

相关推荐

Android 弹幕效果深度集成与实战

本文还有配套的精品资源,点击获取 简介:在Android开发中,通过集成DanmakuFlameMaster库实现弹幕效果,增强用户互动体验。本主题详细介绍如何利用该库进行弹幕绘制、管理及用户交互,涵盖绘制机制、数据结构、碰撞检测、速度控制、内存管理、自定义样式等关键点。实践步骤包括添加库依赖、创建DanmakuContext、设置视图、加载和发送弹幕、调整配置以及监听事件...

weixin_28787801的博客 1566

实现播放视频及弹幕

1:依赖: implementation ‘com.shuyu:GSYVideoPlayer:7.0.1’ implementation ‘com.github.ctiao:DanmakuFlameMaster:0.7.3’ 2:布局 <com.shuyu.gsyvideoplayer.video.StandardGSYVideoPlayer android:id="@+id...

wzy_1704A的博客 1268

Android上的弹幕控件OpenDanmaku

一个Android的弹幕控件,OpenDanmaku是Android中目前非常流行的第三方弹幕控件,可以实现在播放视频、直播和评论模块中弹出用户的实时评论,并且以滚动的方式显示。

最强大的视频弹幕引擎——烈焰弹幕使(DanmakuFlameMaster)使用指南

简介B站在开源视频直播方面做出的贡献太大了,不仅开源视频控件ijkPlayer,还开源了弹幕引擎DanmakuFlameMaster,集齐整套,可谓神器在手,天下我有。 DanmakuFlameMaster 是 Android 上开源弹幕解析绘制引擎项目,也是 Android 上最好的开源弹幕引擎·烈焰弹幕。其架构清晰,简单易用,支持多种高效率绘制方式选择,支持多种自定义功能设置上。

linshijun33的专栏 2万+

Android DanmakuFlame实现视频弹幕功能.rar

Android DanmakuFlame实现视频弹幕功能使用B站开源的DanmakuFlame实现弹幕功能,有mvp模式和普通模式。

DPlayer, 哇这么可爱的HTML5 danmaku视频播放器.zip

DPlayer, 哇这么可爱的HTML5 danmaku视频播放器 DPlayer

点播直播弹幕实现1

点播弹幕实现 后端仓库 简要说明 之前突然觉得弹幕视频还挺有意思的,就想自己也实现点播弹幕和直播弹幕。由于是主学后端的,对于自己手动实现前端的弹幕功能感到困难,于是上网搜索有没有相关实现,首先找到了** CommentCoreLibrary**项目,不过貌似只能全局script导入,没有实现相应模块化,而我前端用的是vue3+ts,用起来感觉很难受,遂放弃。又经过一番搜寻,找到了 **DPlayer**项目,看了它的文档,正如它开头的一句???? Wow, such a lovely HTML5 danma

Flyzz的博客 805

Android 弹幕效果

Android 自定义ViewGroup实现弹幕效果

OpenDanmaku实现弹幕效果

一、OpenDanmaku简介1.OpenDanmaku介绍OpenDanmaku是Android中第三方的弹幕控件,在播放视频和直播软件中过程中弹出用户的评论,并且以滚动的方式显示。2.下载地址https://github.com...

fuge2008的博客 1278

GSYVideoPlayer:视频播放器(IJKplayer、ExoPlayer、MediaPlayer),HTTPS,支持弹幕,外挂字幕,支持滤镜、水印、gif截图,片头广告、中间广告,多个同时播放,支持基本的拖动,声音、亮度调节,支持边播边缓存,支持视频自带rotation的旋转(90,270之类),重力旋转与手动旋转的同步支持,支持列表播放 ,列表全屏动画,视频加载速度,列表小窗口支持拖动,动画效果,调整比例,多分辨率切换,支持切换播放器,进度条小窗口预览,列表切换详情页面无缝播放,rtsp、con

基于(兼容系统MediaPlayer与EXOPlayer2),实现了多功能的视频播放器。 (请仔细阅读下方各项说明,大多数问题可在下方找到解答)。 类型 功能 缓存 边播边缓存,使用了;ExoPlayer使用SimpleCache。 协议 h263\4\5、Https、concat、rtsp、hls、rtmp、crypto、mpeg等等。 滤镜 简单滤镜(马赛克、黑白、色彩过滤、高斯、模糊、模糊等等20多种)、动画、(水印、画面多重播放等)。 帧图 视频第一帧、视频帧截图功能,视频生成gif功能。 播放 列表播放、列表连续播放、重力旋转与手动旋转、视频本身rotation旋转属性、快播和慢播、网络视频加载速度。 画面 调整显示比例:默认、16:9、4:3、填充;播放时旋转画面角度(0,90,180,270);镜像旋转。 内核 IJKPlayer、EXOPlayer、MediaPlayer切

轻量级弹幕库

作者hpdx,源码DanmukuLight,Android 上专为视屏直播打造的轻量级弹幕库(100 多 kb)

视频播放器GSYVideoPlayer

基于IJKPlayer,实现了多功能的视频播放器。 (请仔细阅读下方各项说明,大多数问题可在下方找到解答)。 状态 功能 支持 边播边缓存,使用了AndroidVideoCache。 支持 其他协议和编码concat、rtsp、hls、rtmp、crypto、mpeg等。 支持 DEMO演示获取视频第一帧等实现。 支持 简

Android小飞の博客 1万+

手把手调试Altera FPGA远程升级:从ASMI扇区擦除到Remote Update IP配置的避坑实录

本文详细解析了Altera FPGA远程升级的全流程,重点介绍了Cyclone IV系列FPGA的ASMI扇区擦除和Remote Update IP配置的实战技巧。通过双镜像架构设计、ASMI IP核优化配置及Remote Update IP的隐藏参数设置,帮助开发者避免常见陷阱,提升远程升级的可靠性和效率。

weixin_30872499的博客 447

开源弹幕引擎·烈焰弹幕使(DanmakuFlameMaster)使用解析

简介DanmakuFlameMaster 是 Android 上开源弹幕解析绘制引擎项目,也是 Android 上最好的开源弹幕引擎·烈焰弹幕。其架构清晰,简单易用,支持多种高效率绘制方式选择,支持多种自定义功能设置上。目前,DanmakuFlameMaster 开发包已被包括优酷土豆、开迅视频、MissEvan、echo回声、斗鱼TV、天天动听、被窝声次元、ACFUN 等 APP 使用。Featu

benhuo931115的博客 3万+

Mac---安装Navicat

把这个填充好的字符串放入刚才打开的RSA在线加解密的网站中的第二个框框(替换之前的请求码),第一个框框不动(还是之前第10步骤中的私钥),点击RSA私钥加密,这时会得到一个加密的字符串,这个就是激活码。{“K”:“你的K值”, “N”:“52pojie”, “O”:“52pojie.cn”, “DI”:“你的DI值”, “T”:你的时间戳}链接: https://pan.baidu.com/s/1mEVY4hnKdktg-p7DBIfD7A 提取码: twwg。Navicat会弹出一个对话框,点击“注册”

weixin_53970868的博客 1万+

从零配置EtherCAT IGH主站:手把手教你处理内核版本与实时性优化的那些坑

本文详细指导如何从零配置EtherCAT IGH主站,涵盖内核版本适配、实时性优化及常见问题解决方案。通过精确匹配内核头文件、应用实时补丁和优化网卡驱动,帮助开发者实现微秒级响应,适用于工业自动化、机器人控制等高精度场景。

weixin_30790841的博客 382

【亲测免费】 探秘 Danmaku-Player:一款强大的弹幕播放器

探秘 Danmaku-Player:一款强大的弹幕播放器 项目简介 是一个由开发者 dwqdaiwenqi 创建的开源项目,旨在提供一个高度定制化的弹幕播放解决方案。该项目基于现代Web技术,支持HTML5视频,并且具有丰富的弹幕功能,可以轻松集成到你的网站或者应用中,为用户提供互动式的观看体验。 技术分析 Danmaku-Player 建立在以下技术栈上: HTML5 Video - 它利用原...

gitblog_00036的博客 664

2025年7月5日全国青少年信息素养大赛Python编程初中组复赛真题+答案解析

2025年7月5日全国青少年信息素养大赛Python编程初中组复赛真题+答案解析

伶俐角少儿编程 466

【亲测免费】 《Danmaku FlameMaster: 创新的弹幕渲染引擎》

《Danmaku FlameMaster: 创新的弹幕渲染引擎》 在当今的互联网时代,弹幕文化已经成为了视频分享平台的一大特色。用户们通过发送弹幕参与互动,这种实时的交流方式使得观看体验更加生动有趣。而今天我们要介绍的开源项目——,就是这样一款专为高效、流畅的弹幕渲染打造的强大引擎。 项目简介 Danmaku FlameMaster 是一个由 C++ 开发的高性能弹幕渲染库,它支持多种操作系统,包...

gitblog_00071的博客 636

YOLO26跨时代升级!YOLO26 MLCA注意力机制解读

摘要: 本文提出了一种基于多级上下文聚合(MLCA)注意力机制的改进卷积神经网络。MLCA模块通过局部和全局注意力机制动态调整特征图权重,结合了ECA注意力与自适应池化,显著提升特征表达能力。实验表明,添加MLCA后模型mAP提升12.11,准确率提高5.43。文中详细解析了MLCA1模块的工作原理,包括局部/全局池化、卷积操作和注意力加权机制,并介绍了集成MLCA的Bottleneck_MLCA模块。该机制通过多层次特征融合,在保持计算效率的同时增强模型对关键特征的敏感性。最后提供了YOLOv26-MLC

m0_71589036的博客 283

[QMT量化交易小白入门]-二十八、有了回测年化收益好的策略,如何在QMT量化实盘呢(附python代码解析)

本专栏主要是介绍QMT的基础用法,常见函数,写策略的方法,也会分享一些量化交易的思路,大概会写100篇左右。QMT的相关资料较少,在使用过程中不断的摸索,遇到了一些问题,记录下来和大家一起沟通,共同进步,自己淋过雨了,希望大家都有一把伞。

木头大左的博客 2925

【亲测免费】 GSYVideoPlayer使用教程

GSYVideoPlayer 是一个强大的 Android 视频播放器库,由 GitHub 用户 CarGuo 开发并维护。该项目基于 IJKPlayer(同时兼容 Android 默认的 MediaPlayer 和 EXOPlayer),提供了丰富的功能,如视频播放控制、滤镜效果、水印、弹幕、GIF截图、片头广告、多分辨率切换等。此外,它还支持HTTPS协议,具有跨平台特性,能够适应部分iOS环...

gitblog_00975的博客 2555

[cshell]个性化配置你的cshrc/tcshrc

本文介绍了csh/tcsh shell的配置优化方法,主要包括:1. 配置文件管理(全局和个人配置);2. 按键绑定设置(解决远程登录按键问题);3. 提示符个性化(包含颜色配置方案);4. 环境变量设置(如LSCOLORS、CLICOLOR等);5. 安全防护措施(防误删、防覆盖等);6. 实用alias命令集(简化操作、提高效率)。文章提供了详细的配置示例,并建议通过man tcsh获取更多帮助信息。这些配置能显著提升shell使用体验和工作效率。

元直的博客 6113

Android开源弹幕引擎DanmakuFlameMaster源码解析

最近项目中需要添加弹幕功能,就用了B站的开源框架DanmakuFlameMaster。本文从源码分析了一下弹幕动起来的逻辑。

LX_LE的博客 3969

【零基础学习CAPL】——弹窗信息提示

不用手动制作Panel窗口,直接使用CAPL脚本实现弹窗提示。//没有wait超时,等待测试人员确认//有wait超时,对话框在超时后自动终止//有wait超时,可以显示一个资源,即对话框可以显示额外的信息。/*参数说明text:显示在弹窗中的内容,长度限制在4096字符timeout:弹窗自动结束的时间,单位:ms。若为0,则无超时控制heading:对话框文本上方的标题。字符串最大长度限制在256个字符。resource:URL或文件路径。字符串的最大长度是有限的(512个字符)。

LOVE135149的博客 264

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

上一篇: Android 点赞功能
下一篇: Android 点赞飘心
彦4212
博客等级 码龄9年 17粉丝 39原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值