分类目录归档:悠哉博主的日常

热烈庆祝又有了个妹妹

忽然想起来前两天舅妈生了个妹妹,虽然不是我亲妹但是还要发博文庆祝一下*・゜゚・*:.。..。.:*・'(*゚▽゚*)’・*:.。. .。.:*・゜゚・*

然后哪天她够大了就把这篇博文拿出来跟她炫耀"你看你刚出生我都有博客了"2333333333333

好吧没啥好炫耀的,这个比我小17岁的妹妹应该没法和我玩到一起去。。。。

弹幕寻轨

我在这里把弹幕播放器里的寻轨函数贴出来

首先用四个数组代表四种弹幕的轨道,轨道高度就是屏幕高度
然后生成弹幕时用寻轨函数找到能容得下这个弹幕的空轨道

轨道数组:(原谅我放荡不羁地用拼音英语混合命名。。。)

danmutunnel = {
	right: [],
	left: [],
	bottom: [],
	top: []

}

实际上每个轨道的数组只是分页数组,轨道在每一个里面

tunnel[tun][ind]
        ↑    ↑
       页码 轨道号

继续阅读弹幕寻轨

弹幕播放器小幅更新

这一次修复了以下问题:
·弹幕发送重复
·弹幕不贴合时间

添加了以下功能:
·视频变速(用来做高级弹幕的时候获取精确时间用的)
·设置里的“默认隐藏边栏选项

优化:
·弹幕移动
·把弹幕位置设定器放到了canvas帧循环里,移动更流畅

经过我超神的优化,这个播放器在我的小红上CPU占用终于从50%几降到了20%几,在大红黑上看不出什么区别,一直都是2%。。。。

小红的截图
小红

大红黑的截图
大红黑

DEMO:http://demo.luojia.me/danmuPlayer/20140510/

播放器已支持颜色,不过还是得手工输入十六进制的颜色,比如66ccff(忽略大小写)【色版制作中】
另外修复了弹幕加载错误,原因是弹幕里的”符号让服务端的json合并函数出错了

播放器源码已在:https://github.com/iTisso/DanmuPlayer

在有数据库数据的情况下只要在页面上写个

然后在页面加载完后运行

UseDanmuPlayer();

就可以把所有的这样的标签替换成播放器了,是不是很方便呢

我的弹幕播放器更可爱了

经过好长时间的折腾,我的弹幕播放器现在可以飞弹幕了(≧∇≦)撒花。

这次的demo在这里:http://demo.luojia.me/danmuPlayer/20140502/
[视频链自http://kanoha.org/]

这次大概做了以下改动:
搞好了弹幕显示
修好了轨道分配函数
让它支持一个页面上多播放器,互相独立
搞好了弹幕列表

还有以下问题:
颜色面板还没搞好(虽然可以显示)
有些有特殊字符的弹幕从服务器载入会导致弹幕解析挂掉,所以请善待这个demo
发送弹幕会出来两个一样的弹幕(没找到到底哪里调用了两次弹幕生成函数,也可能是时间轴重复触发了)
播放时如果切换到其它标签页过一会儿再回去,就会把期间所有的弹幕都发出来(卧槽这是怎么回事。。)
包含/+的弹幕无法发送,服务器返回参数数量不对,也就是说/+被转义成了其它什么东西。。。结果就被服务端的参数分解函数分成了2个参数(“+”不见了)

w3school.com.cn已死

负责w3school.com.cn的团队似乎不维护了,我发邮件给他们报了几个错也没反应,估计放弃治疗了,mysql也没有更新mysqli。今天正好看到一个w3cschool.cc,内容和英文版比较相近,而且范围超广,竟然还有bootstrap、java、nodejs、芒果db什么其它教程,于是我决定放弃w3school.com.cn用w3cschool.cc了

我的弹幕播放器不可能这么可爱

明天终于要回到久别的学校了(鬼才想回去),我的弹幕时间轴的问题还没解决,现在它可以发弹幕了,不过还是不显示弹幕的。

另外这次有demo了哦,地址→:http://demo.luojia.me/danmuPlayer/20140424/
因为明天去学校了,所以研究又要拖一段时间,于是先把这个只能发弹幕不能看弹幕的弹幕播放器demo发出来了。(它只是个demo,没有过滤机制,请好好对待它( • ˍ •ू ))

要正常查看此demo你需要:最新的火狐、opera、chrome。(最新的IE10+和safari也可以用但是由于IE和safari不支持webm格式的视频,就没法看这个demo了)

视频区域有一排红字而且鼠标移上去视频会变白,是因为我用canvas做弹幕层,然后调用了我的CanvasObjLibrary,而且打开了Debug模式,所以会出现。

围观群众们有什么关于时间轴的意见吗?

CanvasObjLibrary大更新

COL

本次更新做了如下改动
GitHub:https://github.com/iTisso/CanvasObjLibrary/pull/26/files

  • 把图形元素的left和top分别改成了x和y,不然看着太别扭了
  • 把绘制对象的代码块缩减了
  • 优化了代码结构。。。
  • 修复上次所谓优化遗留下的错误:上一次做了一个鼠标检测优化,但是后来我发现这样就出错了,于是这一次更新里就把它又恢复了
  • 优化了Debug:底部状态条增加了FPS,鼠标移到可接收事件的对象上时它会发白
  • 取消了右键截获,如果需要这样的功能的话就自己对canvas增加阻止事件吧。
  • 终于解决了鼠标移的越远离左上角,误差就越大的问题。(与其说解决了不如说干脆不进行浏览器坐标校正了。。)现在只要不给canvas添加border,margin,padding这样会使元素实际坐标产生歧义的css,鼠标 就会在它应该在的地方
  • 为图形增加了自定义边缘功能,通过元素的borderPathFun路径函数来定义元素的边缘,边缘的作用是在overflow=”hidden”的时候正确裁剪掉边缘外部的图形。
  • 给元素增加clipBy属性,定义裁剪区域使用的边界。”border”为使用borderPathFun定义的边界。如果是drawtype==”function”的元素,可以使clipBy=”drawfunction”把绘图函数当作裁剪边缘(虽然似乎不靠谱。。。)。clipBy为其它任意值的时候都会使用元素定义的宽高来裁剪。

差不多就这些了。