一种弹幕效果的实现方法技术

技术编号:19069032 阅读:35 留言:0更新日期:2018-09-29 15:16
本发明专利技术涉及一种弹幕效果的实现方法,包括如下步骤:步骤1,自定义弹幕元数据类DanmakuBean,用来存放弹幕的元数据;步骤2,自定义弹幕布局类DanmakuItem,用来显示弹幕;步骤3,自定义弹幕数据类DrawerBean,用来提供弹幕移动相关计算;步骤4,自定义类DanmakuItemDrawer,用来绘制弹幕条目;步骤5,自定义类DanmakuView,用来在线程中绘制和渲染。本发明专利技术,采用自定义类来绘制弹幕条目,自定义类中通过子线程对弹幕信息进行局部渲染绘制更新,对整个界面影响较小,提升流畅性,减少卡顿,增强用户体验,同时也节省内存和cpu占用。

【技术实现步骤摘要】
一种弹幕效果的实现方法
本专利技术涉及弹幕效果交互
,具体说是一种弹幕效果的实现方法。
技术介绍
现有的直播平台,为了提高播主和直播用户的互动,都提供弹幕效果供播主和直播用户使用。在Android原生系统中,没有提供弹幕相关的控件,需要开发人员自定义。常见的解决方案是:自定义View在主线程对控件进行平移动画来实现弹幕效果,这种方案缺点在于:View的刷新会使整个界面都重新绘制,造成系统资源的大量浪费,cpu使用率高,耗电等问题。
技术实现思路
针对现有技术中存在的缺陷,本专利技术的目的在于提供一种弹幕效果的实现方法,采用自定义类来绘制弹幕条目,自定义类中通过子线程对弹幕信息进行局部渲染绘制更新,对整个界面影响较小,提升流畅性,减少卡顿,增强用户体验,同时也节省内存和cpu占用。为达到以上目的,本专利技术采取的技术方案是:一种弹幕效果的实现方法,其特征在于,包括如下步骤:步骤1,自定义弹幕元数据类DanmakuBean,为Android系统提供的Object类型,用来存放弹幕的元数据;步骤2,自定义弹幕布局类DanmakuItem,继承Android系统提供的线性布局LinearL本文档来自技高网...

【技术保护点】
1.一种弹幕效果的实现方法,其特征在于,包括如下步骤:步骤1,自定义弹幕元数据类DanmakuBean,为Android系统提供的Object类型,用来存放弹幕的元数据;步骤2,自定义弹幕布局类DanmakuItem,继承Android系统提供的线性布局LinearLayout,用来显示弹幕;所述自定义弹幕布局类DanmakuItem最终返回一个位图,其中包括用户的头像和发表的弹幕内容;步骤3,自定义弹幕数据类DrawerBean,继承Android系统提供的Object类型,用来提供弹幕移动相关计算;步骤4,自定义类DanmakuItemDrawer,继承Android系统提供的Object...

【技术特征摘要】
1.一种弹幕效果的实现方法,其特征在于,包括如下步骤:步骤1,自定义弹幕元数据类DanmakuBean,为Android系统提供的Object类型,用来存放弹幕的元数据;步骤2,自定义弹幕布局类DanmakuItem,继承Android系统提供的线性布局LinearLayout,用来显示弹幕;所述自定义弹幕布局类DanmakuItem最终返回一个位图,其中包括用户的头像和发表的弹幕内容;步骤3,自定义弹幕数据类DrawerBean,继承Android系统提供的Object类型,用来提供弹幕移动相关计算;步骤4,自定义类DanmakuItemDrawer,继承Android系统提供的Object类型,用来绘制弹幕条目;在自定义类DanmakuItemDrawer中,定义方法initWaitBean,用来把弹幕数据集合添加到等待展示的弹幕链表中;在自定义类DanmakuItemDrawer中,定义方法draw,用来对正在显示移动的弹幕进行绘制;其中,通过lock方法来加锁,对多线程进行控制,每次只能一个线程进行绘制;通过unlock方法来释放锁资源;步骤5,自定义类DanmakuView,继承Android系统提供的TextureView,用来在线程中绘制和渲染;在DanmakuView类中实现TextureView.SurfaceTextureListener接口,在onSurfaceTextureAvailable回调方法中清空画布;在自定义类DanmakuView中,定义方法start,用来控制开始加载显示弹幕信息;其中,通过内部类DanmakuDrawThread在子线程中绘制弹幕信息。2.如权利要求1所述的弹幕效果的实现方法,其特征在于:在自定义弹幕布局类DanmakuItem中,定义方法createItem,用来创建弹幕布局、获取头像文字和背景内容相应的View对象;在自定义弹幕布局类DanmakuItem中,定义静态方法createBitmapFromView,用来创建Bitmap位图。3.如权利要求2所述的弹幕效果的实现方法,其特征在于:在自定义弹幕数据类DrawerBean中,定义方法createBitmap,用来创建弹幕位图,把用户头像和内容绘制到位图中;在自定义弹幕数据类DrawerBean中,定义方法clean,用来对bitmap位图资源及时进行回收,节约内存防止内存溢出。4.如权利要求1或3所述的弹幕效果的实现方法,其特征在于:步骤1中,所述自定义弹幕元数据类DanmakuBean具体包括:枚举SOURCE,用来标记弹幕来源,里面有两个常量MY和OTHERS,变量mSource,用来区分弹幕所发的用户,为枚举S...

【专利技术属性】
技术研发人员:孙征
申请(专利权)人:北京酷我科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1