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

前言

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

最终实现效果如下:

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. </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. $("send").addEventListener("click",function(event){
  22. //text属性为弹幕文字
  23. list.text=$("main").value
  24. //color为弹幕颜色同时转化为10进制
  25. list.color=(parseInt(($("chose").value)));
  26. //这条就是发送弹幕功能了
  27. CM.send(list);
  28. event.stopPropagation();
  29. event.preventDefault();
  30. })
  31. });
  32. </script>

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

时间: 2024-10-16 01:09:45

做个简单的本地弹幕播放器的相关文章

ios 简单的本地音乐播放器

一.导入资源文件 二.新建一个控制器,继承于UITableViewController,用来展示播放列表 1.播放列表的实现 @interface MusicListViewController (){ //定义一个播放列表数组 NSMutableArray *musicList; } - (void)viewDidLoad { [super viewDidLoad]; //调用解析文件类方法,得到播放列表 musicList=[MusicModel allMusics]; } - (NSInt

简单本地音乐播放器

// //  ViewController.m //  AudioPlayer // //  Created by apple on 14-7-18. //  Copyright (c) 2014年 苹果IOS软件开发者. All rights reserved. // #import "ViewController.h" #import <AVFoundation/AVFoundation.h> @interface ViewController ()<AVAudi

用WPF实现一个弹幕播放器

最近写了一系列关于WPF二维动画的Blog,今天准备写个程序来实战一下.由于手头上确实没有什么好的例子,便写了个离线的弹幕播放器,效果如下: 实际上,用WPF实现一个弹幕播放器还是比较简单的,主要分为如下几个步骤: 下载离线弹幕文件,并解析为程序比较方便的识别格式 加载弹幕数据,并生成弹幕动画TimeLine,这里我将每一个弹幕用一个TextBlock表示,用一个Canvas来承载这些弹幕.用关键帧动画来表示弹幕,并将动画和TextBlock关联起来. 使用MediaElement加载弹幕,使用

用WPF写了一个弹幕播放器

看弹幕视频的时候,如果不发弹幕,一个本地的弹幕播放器往往能带来更好的体验.目前已经有一些实现了,最初用过一个MukioPlayer, 后来又用过一个用C++写的BiliLocal,这个程序能自动下载弹幕,播放格式也非常宽泛,功能和性能基本上都没有什么值得挑剔的地方,感觉主要的一个Bug就是进度跳转的时候弹幕要消失一阵子(包括显示/隐藏弹幕的时候). 前段时间为学习WPF的动画的时候顺便做了一个本地的弹幕播放器练手,后来发现效果还不错,便将其完善了下,现在已经能基本可用了.虽然BiliLocal已

将WPF版的弹幕播放器给优化了一下

年前较闲的时候研究了一下WPF的性能优化,练手的时将之前写的弹幕播放器给重新写了一下.年前的时间不大够,没有写完,这两天接着弄了一下,基本上弄得差不多了. 主要重写了底层的渲染算法,优化后效果还是非常明显的,试了几个BiliBili上的热门的弹幕,基本上满屏的弹幕依然能流畅播放.在我的i5-750上,cpu占用基本上在16%左右(光播放视频基本上CPU就占用了7%),还是比较令人满意的.并且我这里还是用的比较简单的算法,一开始就把所有的弹幕全部给加载了,也没有使用多线程渲染,还是有一定的优化空间

关于弹幕播放器的起步

我想,很多的宅男,宅女,包括很多的技术宅都知道弹幕这个词语,起源于niconico这个著名的弹幕视频分享网站,我想,如果自己来做个弹幕播放器怎么样? 于是我找了很多的大神和朋友,其中我很感谢他们帮助我,没有他们我不会学到这些知识. 接下来我公开这名大神的源代码地址 https://code.google.com/p/mukioplayer/ 你懂得,我就不说了. 接下来,我所使用的不是这个源代码,而是这个大神用他的源代码写的一个wordpress插件,总之我先截图吧,让你们看看我现在安装之后的画

用javascript做一款属于自己的播放器

用js可以做播放器?你没有看错,javascript结合html5是完全可以实现一款个性化的视频播放器的.在项目早些时候 我们是通过phoneGap提供的插件实现的视频播放,但是有一个问题,我们的项目是一个单页应用,翻页的时候,实际 上是用translateX的位移模拟手机上的滑动翻页效果的,而用phoneGap提供的视频播放器,它的层级是我们的前端代码 无法控制的,也就是说,页面滑动的时候,视频没有跟着一起动,感觉就是脱离了页面.后来我们大胆的采用html5的video 来实现播放.因为vid

简单的多屏播放器示例(vlc+qt)

简单的多屏播放器示例(vlc+qt) 介绍 简单的多屏播放器 最多同时播放16个视频 支持本地文件和rtsp.rtmp等流媒体播放 VS2015工程,依赖Qt+VLC 练手作品 截图 下载 程序:download.csdn.net/detail/u014755412/9908787 源码:github.com/FutaAlice/QtPlayer 代码分析 IMediaPlayer是为规定接口的基类 提供了播放和控制的几个常用函数 其中打开媒体部分拆分为了OpenURL和OpenFile,并在c

一个可扩展的弹幕播放器的HTML5实现范例---ABPlayerHTML5

ABPlayerHTML5 是一个简单易懂的现代弹幕魔法播放器.这个项目意在取代基于 Flash 的 ABPlayer,同时也希望能为新一代的HTML5弹幕播放器打造一个实现范例.这个播放器將用相对通俗易懂的方法,实现最基础的弹幕播放器功能,以供开发者参照. 在你的应用中加入ABPlayerHTML5请在 head 元素内引入如下的库. <link rel="stylesheet" href="http://jabbany.github.io/ABPlayerHTML5