资源预览内容
第1页 / 共11页
第2页 / 共11页
第3页 / 共11页
第4页 / 共11页
第5页 / 共11页
第6页 / 共11页
第7页 / 共11页
第8页 / 共11页
第9页 / 共11页
第10页 / 共11页
亲,该文档总共11页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Android弹幕实现:基于B站弹幕开源系统(1)Android弹幕实现:基于B站弹幕开源系统(1)如今的视频播放,流行在视频上飘弹幕。这里面做的相对比较成熟、稳定、使用量较多的弹幕系统,当推B站的弹幕系统,B站的弹幕系统已经作为开源项目在github上,其项目地址:https:/github.com/Bilibili/DanmakuFlameMaster以B站开源的弹幕项目为基础,现给出一个简单的例子,实现发送简单的文本弹幕。第一步,首先要在Android的build.gradle文件中引入B站的项目:plainview plaincopy1. repositories2. jcenter()3. 4. 5. 6. dependencies7. 8. compilecom.github.ctiao:DanmakuFlameMaster:0.7.39. compilecom.github.ctiao:ndkbitmap-armv7a:0.7.310. 11. 第二步,写一个布局文件,引入B站的弹幕view:htmlview plaincopy1. 2. 6. 7. 12. 13. 18. 19. 24. 25. 30. 31. 36. 37. 41. 42. 第三步,写上层Java代码(该处java代码改造自B站弹幕github上的demo代码):javaview plaincopy1. packagezhangphil.danmaku;2. 3. importandroid.app.Activity;4. importandroid.graphics.Color;5. importandroid.os.Bundle;6. importandroid.util.Log;7. importandroid.view.View;8. importandroid.widget.Button;9. 10. importjava.util.HashMap;11. 12. importmaster.flame.danmaku.danmaku.model.BaseDanmaku;13. importmaster.flame.danmaku.danmaku.model.DanmakuTimer;14. importmaster.flame.danmaku.danmaku.model.IDisplayer;15. importmaster.flame.danmaku.danmaku.model.android.DanmakuContext;16. importmaster.flame.danmaku.ui.widget.DanmakuView;17. 18. publicclassMainActivityextendsActivity19. 20. privateDanmakuViewmDanmakuView;21. privateDanmakuContextmContext;22. 23. privateAcFunDanmakuParsermParser;24. 25. Override26. protectedvoidonCreate(BundlesavedInstanceState)27. super.onCreate(savedInstanceState);28. setContentView(R.layout.activity_main);29. 30. mDanmakuView=(DanmakuView)findViewById(R.id.danmakuView);31. 32. Buttonshow=(Button)findViewById(R.id.show);33. Buttonhide=(Button)findViewById(R.id.hide);34. ButtonsendText=(Button)findViewById(R.id.sendText);35. Buttonpause=(Button)findViewById(R.id.pause);36. Buttonresume=(Button)findViewById(R.id.resume);37. 38. show.setOnClickListener(newView.OnClickListener()39. Override40. publicvoidonClick(Viewv)41. mDanmakuView.show();42. 43. );44. 45. hide.setOnClickListener(newView.OnClickListener()46. Override47. publicvoidonClick(Viewv)48. mDanmakuView.hide();49. 50. );51. 52. sendText.setOnClickListener(newView.OnClickListener()53. Override54. publicvoidonClick(Viewv)55. /每点击一次按钮发送一条弹幕56. sendTextMessage();57. 58. );59. 60. pause.setOnClickListener(newView.OnClickListener()61. Override62. publicvoidonClick(Viewv)63. mDanmakuView.pause();64. 65. );66. 67. resume.setOnClickListener(newView.OnClickListener()68. Override69. publicvoidonClick(Viewv)70. mDanmakuView.resume();71. 72. );73. 74. 75. init();76. 77. 78. privatevoidinit()79. mContext=DanmakuContex
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号