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


    前言

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

    最终实现效果如下:

    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

  • 相关阅读:
    Python异常捕捉try except else finally有return时执行顺序探究
    为什么在Python的线程内调用sys.exit()时不退出?
    Hadoop集群上用户使用crontab时候失败
    记一次--------spark 读 mysql 报错no suitable driver
    通用权限sql设计
    union all 对结果进行分类展示
    雷达图
    常用语句
    oracle中计算两个日期的相差天数、月数、年数、小时数、分钟数、秒数等
    icell设计器发送邮件不成功
  • 原文地址:https://www.cnblogs.com/gbtags/p/4653946.html
Copyright © 2020-2023  润新知