做个简单的本地弹幕播放器

前言

  • 本文仅仅是做一个简单的弹幕播放器
  • 本文弹幕播放器仅仅是演示一下发送弹幕功能
  • 请跳转本文底部的在线调试代码进行调试

最终实现效果如下:

Okay.首先你得找到一个弹幕开源库就是这个啦:https://github.com/jabbany/CommentCoreLibrary

其次你得准备好一个HTML文件 准备完后lets do it

 更多内容请见原文链接:http://www.gbtags.com/gb/share/5769.htm

引入两个重要的弹幕开源库文件 这里用了我blog的文件

  1. <script src="http://emufan.com/cdn/CommentCoreLibrary.js" ></script>
  2. <link rel="stylesheet" type="text/css" href="http://emufan.com/cdn/style.css"/>
 

编写好HTML 结构

这里解释一下这个弹幕开源库必须要一个HTML结构也就是

这两个结构是必须的 且class为abp和container也是不能改变的 这点从开源库的css文件就可以看出 

  1. <div class="m20 abp" id="player">
  2. <div id="commentCanvas" class="container"></div>
  3. </div>
 

添加一些视频元素和一个表单元素 HTML就okay了

  1. <div class="m20 abp" id="player">
  2. <video id="abpVideo" poster="http://content.bitsontherun.com/thumbs/bkaovAYt-720.jpg" controls="none">
  3. <source src="http://content.bitsontherun.com/videos/bkaovAYt-52qL9xLP.mp4" type="video/mp4">
  4. <source src="http://content.bitsontherun.com/videos/bkaovAYt-27m5HpIu.webm" type="video/webm">
  5. <p class="warning">Your browser does not support HTML5 video.</p>
  6. </video>
  7. <div id="commentCanvas" class="container"></div>
  8. <div class="controls">
  9. <form action="">
  10. <p>选择颜色:<select name="" id="chose">
  11. <option value="0xff0000">红色</option>
  12. <option value="0x7fff00">绿色</option>
  13. <option value="0xffff56">黄色</option>
  14. </select>
  15. 输入内容:<input type="" name="main" id="main" value="" /> <button id="send">发送</button>
  16. </p>
  17. </form>
  18. </div>
  19. </div>
 

设置一下CSS达到全屏的效果

这里说我遇到一个坑.在绘制的div也就是id="commentCanvas" 他的css属性为position:absolute z-index=999 所以会覆盖在视频文件上方导致视频文件进度条无法按 -  -于是这里我采用了设置id="commentCanvas"的height=80%来达到效果。当然肯定有更好的解决办法,希望大家能够踊跃讨论下。

  1. <style type="text/css">
  2. html,body{
  3. width: 100%;
  4. height: 100%;
  5. overflow: hidden;
  6. }
  7. body{
  8. overflow-y:scroll;
  9. }
  10. .container{
  11. height: 90%;
  12. }
  13. #abpVideo{
  14. width: 100%;
  15. height: 100%;
  16. overflow: hidden;
  17. }
  18. .controls{
  19. text-align: center;
  20. }
  21.  
  22. </style>
 

设置一些js属性

  1. <script type="text/javascript">
  2. window.addEventListener('load', function () {
  3. // 在窗体载入完毕后再绑定
  4. function $(id){
  5. return document.getElementById(id);
  6. }
  7. var CM = new CommentManager($('commentCanvas'));
  8. CM.init();
  9. // 先启用弹幕播放(之后可以停止)
  10. CM.start();
  11. // 开放 CM 对象到全局这样就可以在 console 终端里操控
  12. window.CM = CM;
  13. //创建弹幕列表对象
  14. var list={
  15. //这些属性都可以在官网文档找到答案 这里就不详细说明了
  16. "dur": 10000,
  17. "size": 25,
  18. "stime": 0,
  19. "mode": 1,
  20. }
  21.  
  22. $("send").addEventListener("click",function(event){
  23. //text属性为弹幕文字
  24. list.text=$("main").value
  25. //color为弹幕颜色同时转化为10进制
  26. list.color=(parseInt(($("chose").value)));
  27. //这条就是发送弹幕功能了
  28. CM.send(list);
  29. event.stopPropagation();
  30. event.preventDefault();
  31. })
  32. });
  33. </script>

更多内容请见原文链接:http://www.gbtags.com/gb/share/5769.htm

原文地址:https://www.cnblogs.com/gbtags/p/4653946.html