搜索
有爱,有技术,有你^_^)y
╱人◕‿‿◕人╲订下契约(注册新用户)

合作站点账号登陆

QQ登录

只需一步,快速开始

快捷导航
查看: 3963|回复: 23
收起左侧

简单易懂的现代魔法:C#编程教程(六) Bilibili小工具①

[复制链接]

该用户从未签到

28

主题

103

好友

9783

积分

技术宅认证程序员

苦逼,受剥削人民

积分
9783
发表于 2012-6-10 12:49:28 | 显示全部楼层 |阅读模式

╱人◕‿‿◕人╲定下契约

您需要 登录 才可以下载或查看,没有账号?╱人◕‿‿◕人╲订下契约(注册新用户)

x
本帖最后由 秋声赋 于 2012-6-10 12:49 编辑

简单易懂的现代魔法:C#编程教程()
                                                Bilibili小工具①

上次发的计算器是蛮久以前写的东西了,这次发一个这几天做的小东西,没太多实用价值,

主要是用来练习下网络编程字符串处理以及实验下新增的Ribbon控件.界面如下:

                1.png


如图中,这个工具的主要目的是通过解析Bilibili视频的地址或者av号,来获取视频的信息和弹幕以及下载地址.

另外还有播放和下载功能,但是很不完善.主要是我不会播放FLV的流媒体,只是简单的调用了WebBrowser连接到视频的播放地址.

下载也是,因为新浪会分段,我也懒得找合并FLV格式文件的方法,就没有完成合并功能.


另外说下,我以后就不会写太基础的帖子了,因为C#的很多基础东西,我都在前面的帖子里面说了,

但是像委托,泛型这种东西我认为我没有把握能说得好,想了解就去网上查资料吧,理解起来很容易.


我也算初学者,这个程序问题还是挺多的,很多地方都没用最好的方法解决,所以欢迎大家指正,我会在后面放上工程文件.

这次我一个帖子不会讲太多东西,分大概4,5个帖子完成这个程序的教程.我会尽快写完.

1.      程序的整体构成(本帖)
2.      下载地址的获取
3.      弹幕的获取和解析
4.      程序界面(Ribbon)
5.      下载及播放


首先看下本程序的结构.

2.png

6个类构成,分别是2个实体类,2个辅助类,2个用来显示的类:

BilibiliVideo代表一个视频.里面记录了一个视频的所有信息,包括拥有的弹幕.
BiliComment 代表一条弹幕.


AddressResolution 用于地址解析
VideoDown 用于视频下载


还有2个分别用来在控件中显示弹幕信息和视频信息.


//===========================大概的过程是这样=======================\\

当用户按下确定按钮后,

AddressResolution解析出视频Aid号(就是av号后面那串数字,内部叫Aid号)和视频所在页数,顺便检测用户输入是否正确.

通过检测后,通过静态方法用Aid号和页数构造一个BilibiliVideo对象,此过程中就完成对视频信息的获取.

然后获取视频的下载地址(其实可以和前面放一起),并把信息显示在界面上.

再然后获取和解析弹幕文件,因为要花一点时间,所以放在另一个线程中进行,

当解析完成之后出发OnCommentReadComplete事件,主线程响应这个事件,把弹幕信息显示在界面之上.

当然还有播放的下载,我会在相应的帖子里面详细的说明.

\\==================================================================//


这就是程序的主要流程,很简单,不过在实现的过程中可以学习到很多东西例如

WebClient类的使用,WebAPI的意义,Xml文件解析,字符串处理, WebBrowser控件和HTMLDocument对象的使用,Ribbon控件的使用,数据绑定等等…

我反正在做这个程序的过程中学到了很多东西.相信初学者(有C#窗口编程基础的)从头到尾做一遍的话也能收获很多.


关于视频地址和弹幕文件的解析,参考了下面的文章(才发现B站原来是有论坛的…)

http://9ch.co/t13951,1-1.html
http://9ch.co/t17836,1-1.html


工程文件在Windows8RP+VS2010(.net4.0)下编译通过.


bilibiliplayer(4.0).zip

543.97 KB, 下载次数: 9, 下载积分: 宅币 -50 枚, 活跃 1 ℃

工程文件

bilibiliplayer.zip

37.09 KB, 下载次数: 5, 下载积分: 宅币 -50 枚, 活跃 1 ℃

运行文件

评分

参与人数 3宅币 +150 贡献 +11 元气(技能点) +2 收起 理由
风音洛洛 + 50 + 4 + 2 Σ( ° △ °|||)︴ 碉堡了
氺菓 + 50 o(* ̄▽ ̄*)ブ 发糖
hcl + 50 + 7 o(* ̄▽ ̄*)ブ 发糖

查看全部评分

签名被小宅喵吞掉了~~~~(>_<)~~~~
回复

使用道具 举报

该用户从未签到

397

主题

61

好友

11万

积分

荣誉会员

地下研究所 所长

积分
115586
发表于 2012-6-10 13:21:16 | 显示全部楼层
先来支持一下。。
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

7

好友

2220

积分

Continue

积分
2220
发表于 2012-6-10 18:09:38 | 显示全部楼层
目前还停留在windows应用程序
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

9

主题

32

好友

6028

积分

序章

积分
6028
发表于 2012-6-10 18:40:16 | 显示全部楼层
这个太好了,经常上B站的说
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

29

好友

5031

积分

序章

积分
5031
发表于 2012-6-10 18:47:40 | 显示全部楼层
   小白撸过。。

看不懂的泪流满面。。
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

5

主题

52

好友

1万

积分

第一章

积分
15708
发表于 2012-6-10 19:17:45 | 显示全部楼层
好强大
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

388

主题

2042

好友

10万

积分

懒人

积分
104569
发表于 2012-6-10 19:18:12 | 显示全部楼层
看见秋深就滚进来了
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

13

主题

24

好友

4595

积分

禁止访问

积分
4595
发表于 2012-6-16 20:29:43 | 显示全部楼层
为变成而坚持。
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

13

主题

24

好友

4595

积分

禁止访问

积分
4595
发表于 2012-6-16 20:29:51 | 显示全部楼层
编程而坚持。
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

签到天数: 423 天

连续签到: 1 天

[LV.9]以坛为家II

77

主题

425

好友

16万

积分

Webmaster

唯我独尊

积分
160487

国庆70周年纪念

发表于 2012-6-18 06:27:08 | 显示全部楼层
嗯支持
回复 支持 反对

使用道具 举报

该用户从未签到

8

主题

11

好友

3239

积分

序章

积分
3239
发表于 2012-6-20 00:02:34 | 显示全部楼层
图片代码看的好吃力…对于我们学校的渣网络来说…C#这种代码直接用[code]就好~~~~没必要图片的……
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

163

主题

73

好友

4万

积分

第二章

积分
45516
发表于 2012-6-21 10:41:58 | 显示全部楼层
呜哇........好久没来,一点开发现“网络编程”几个字.....无力,给跪
[url=http://www.gn00.com/forum-110-1.html]<font color="DarkOrange">跟着船长起航
回复 支持 反对

使用道具 举报

该用户从未签到

5

主题

18

好友

6465

积分

序章

积分
6465
发表于 2012-8-28 21:37:58 | 显示全部楼层
我不能查看相关附件
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

21

主题

53

好友

8949

积分

序章

积分
8949
发表于 2012-9-3 00:00:50 | 显示全部楼层
本帖最后由 Setsunaku菜刀子 于 2012-9-3 00:02 编辑

感觉好厉害!!!!!!
不过。。。
火狐有个组件可以下视频的。。。。说【抱歉我是个没有技术的宅。。。

签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

34

主题

92

好友

1万

积分

第一章

积分
16041
发表于 2012-9-18 20:07:12 | 显示全部楼层
马克教程
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

本版积分规则

小黑屋|手机版|技术宅(Z站|基宅) ( 粤ICP备18082987号-1 )

GMT+8, 2025-5-10 09:52 , Processed in 0.185891 second(s), 50 queries , Redis On.

Copyright © 2018 技术宅社区

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表