BiliBili-UWP完全指南:从零装好这款原生B站第三方客户端,玩转播放、弹幕与双模式体验
2026/8/20 2:55:44 网站建设 项目流程

BiliBili-UWP完全指南:从零装好这款原生B站第三方客户端,玩转播放、弹幕与双模式体验

【免费下载链接】BiliBili-UWPBiliBili的UWP客户端,当然,是第三方的了项目地址: https://gitcode.com/gh_mirrors/bi/BiliBili-UWP

如果你也曾在 Windows 上用浏览器刷 B 站:切换分 P 时画面一顿、弹幕一多就掉帧、浏览器标签开得多了风扇狂转……那么这篇文章就是为你准备的。BiliBili-UWP正是一款瞄准这些痛点的第三方客户端——它基于 UWP 原生架构开发,把网页版的"重"替换成系统级的"顺",把播放器、弹幕、动态、收藏等核心功能统一收进一个轻量窗口,是学习 UWP 开发、体验桌面端 B 站交互的绝佳样本。

这款应用出自开发者"云之幻",最初在微软商店上架后走红,后因官方警告而下架并停止维护。但正如很多经典开源项目一样,它的代码结构与设计思路依然值得把玩。本文不写枯燥的源码分析,而是带你走一条完整路线:先搞清楚它好在哪里,再亲手编译安装,最后深入核心功能与调优技巧。

一、它凭什么值得一试?核心亮点一览

在动手之前,先直观感受一下它和网页版的差异。这不是"另一个套壳浏览器",而是从渲染到底层解码都走系统原生的应用:

对比维度网页版 B 站BiliBili-UWP
界面渲染依赖浏览器内核,内存占用高UWP 原生渲染,轻量顺滑
视频解码受浏览器策略限制硬件加速,支持 HEVC 等编码
弹幕体验与页面混在一起,卡顿明显独立弹幕引擎,可精细调参
操作方式只有浏览器快捷键全键盘+鼠标侧键+触控手势
多设备适配响应式网页,体验一般桌面/平板双模式原生布局

再快速盘点几个让人印象深刻的点:

  • 桌面模式 + 平板模式:同一套代码,两种完全不同的界面语言,1080P 大屏和平板、XBOX 都能找到合适的姿态
  • 不亚于官方的快捷键体系:方向键、F2 弹幕开关、F11 全屏、Shift+S 截图,一应俱全
  • 云端与本地数据打通:登录后动态、收藏、历史、稍后再看全在本地界面呈现
  • 深度可定制:深浅色主题、弹幕密度/字号/速度、播放器小窗与影院模式,几乎所有体验参数都有开关
  • 开放接口:提供richasy-bilibili://协议标头,其他应用可一键唤起并直达指定视频

二、准备工作:环境要求与源码获取

正式编译前,先确认你的"硬件+软件"条件是否满足:

环境要求速查:

项目要求
操作系统Windows 10 1809 及以上
开发工具Visual Studio 2019(需安装 UWP 工作负载)
部署方式本地生成测试证书后侧载部署
设备注意ARM 设备(如 Surface Pro X)可能无法运行

获取源码很简单,一条命令即可:

git clone https://gitcode.com/gh_mirrors/bi/BiliBili-UWP

项目采用模块化设计,拿到手后你会看到四个核心工程,理解它们的分工对后续上手很有帮助:

  • BiliBili-Controls:特殊控件库,包括自适应网格视图、瀑布流面板、虚拟化面板、气泡控件等
  • BiliBili-Lib:公共类库与核心服务,B 站 API 的封装都集中在这里的Service文件夹
  • BiliBili-Notification:后台任务组件,负责动态内容的后台通知提醒
  • BiliBili-UWP:主程序,UI 页面、控件模板、主题与业务逻辑都在此

三、两条上手路线,按需选择

不是每个人都想折腾编译环境。这里给出两条路,你可以根据自己的情况对号入座。

路线一:零基础快速体验(推荐普通用户)

如果你只是想"换个更好用的 B 站客户端",不必编译源码,直接在项目的 Release 版本中下载对应系统的压缩包:

  1. 下载解压后,右键install.ps1按提示安装
  2. 如果提示证书问题,双击包内证书,导入到"本地计算机 → 受信任的根证书目录",再重新走一遍安装流程
  3. 安装完成后启动,先在欢迎页完成登录,即可开始使用

这条路线 5 分钟就能走完,几乎不碰命令行。

路线二:开发者深度使用(动手编译部署)

如果你对 UWP 开发或这个项目的实现细节感兴趣,就走完整编译流程:

  1. 用 Visual Studio 2019 打开BiliBili-UWP.sln
  2. package.appxmanifest的 Package 选项卡下重新生成一个测试证书
  3. 右键解决方案 → 重新生成 → 部署
  4. 启动应用,打开调试输出观察整个启动、登录、拉取数据的流程

推荐先读一遍主程序里的App.xaml.cs和核心运行时状态管理类AppViewModel,它会告诉你应用是怎么串联"启动 → 登录 → 导航 → 播放"这条主线的。

四、核心功能逐个拆解

1. 双模式界面:一套代码,两种审美

这是项目最具辨识度的设计。桌面模式采用经典的 Master-Detail 结构:左侧导航、右侧详情,信息密度高,适合 1080P 以上大屏;平板模式则借鉴了 XBOX 新界面的游戏详情和 WIN8 卷轴式布局,以横向滚动为主,触摸友好。

更妙的是,当你选择某个视频后,应用背景会变成虚化的视频封面——这种"骚气"的视觉反馈正是 UWP 动画能力的体现。相关页面分别位于Pages-DesktopPages-TabletPages-Share三个目录,共享页面(副页)承担了两端共用的逻辑,这也是开发者的设计巧思。

2. 播放器与弹幕:可精细调参的观影核心

核心播放器VideoPlayer放在Components/Controls目录,魔改的媒体传输控件(MTC)样式定义在Template/Media.xaml。开发者对体验参数几乎做到了"逐项可调",从设置枚举Settings.cs就能看出端倪:弹幕透明度、弹幕字号、弹幕速度、弹幕密度上限、是否合并弹幕、是否保护字幕区……每一项都有独立开关。

代码层面的核心服务也很清晰,视频相关的接口集中在VideoService中,例如获取分区视频:

// 按分区 ID 加载该分区下的推荐与最新视频 var result = await videoService.GetSubRegionDefaultAsync(rid);

3. 账号体系:从登录到数据同步

登录、用户信息、收藏夹、历史记录、稍后再看等接口都封装在AccountService中,一个类搞定账号侧几乎所有能力:

var accountService = new AccountService(); var me = await accountService.GetMeAsync(); // 获取当前用户信息 var favs = await accountService.GetMyMainlyFavoritesAsync(); // 获取主收藏夹 var later = await accountService.GetViewLaterAsync(); // 获取稍后再看

登录后,动态、评论、@我的、点赞消息都能在应用内直接消费,收藏夹管理也摆脱了网页版繁琐的跳转。

4. 协议唤起:让其他应用无缝跳转

项目提供了 URI 协议richasy-bilibili://,这是很实用的小功能。比如在别的应用里写一个链接,点击就能直达指定视频:

richasy-bilibili://navigate?action=video&aid=170001

也可以携带bvidcid参数,甚至支持动漫、电影、剧集(通过epid)的直达跳转。想给 B 站视频做个快捷入口的开发者,可以好好利用这个能力。

五、避坑指南:新手最容易踩的五个坑

  1. 证书安装位置不对:证书必须导入到"本地计算机 → 受信任的根证书",而不是"当前用户",否则应用装不上或启动失败
  2. ARM 设备无法运行:项目声明在 ARM 设备上可能无法启动,如果是 Surface Pro X 用户,先做好心理准备
  3. 4K 是"假选项":界面会显示 4K 清晰度,但非大会员拿到的片源仍不是 4K,这是 B 站服务端限制,不是 bug
  4. 播放卡顿先别怪应用:项目说明明确建议——如果播放视频卡,先在显卡设置中开启垂直同步,往往立竿见影
  5. 项目已停止维护:收到官方警告后应用已从商店下架,遇到影响使用的 BUG 大概率不会修复,请把它当作学习与体验项目,而非长期依赖的日常工具

六、性能与体验调优指南

场景一:低配设备(如小屏平板、老电脑)

  • 在设置中关闭动画效果(EnableAnimation
  • 将播放默认画质调低,减少解码压力
  • 弹幕密度设低,弹幕是 CPU 渲染的主要压力源之一
  • 优先使用平板模式,其信息密度低、渲染负载小

场景二:高配大屏(1080P 以上显示器)

  • 桌面模式信息密度高,正适合大屏发挥
  • 开启 HEVC 编码,画质与码率更优
  • 全屏或影院模式下保留弹幕条,观影氛围更完整

场景三:触摸设备或手柄

  • 播放器中手指左右滑动调进度、上下滑动调音量,完全是移动端手感
  • 双击播放器即可播放/暂停
  • 平板模式本身就为触摸做了横向滚动优化

场景四:键盘党效率流

快捷键是这套客户端最值得记的部分:

按键功能
← / →播放器回退/前进指定时长
↑ / ↓调高/调低音量
F2开启/关闭弹幕
F10小窗/退出小窗
F11全屏/退出全屏
Esc退出当前状态(全屏、影院、小窗)
Space播放/暂停
Shift + S截图并保存到"图片库/Bili ScreenShot"

另外鼠标侧键 X 点击可以返回上一页,这个细节比很多原生应用都贴心。

七、常见问题速查

Q:应用启动失败怎么办?先确认系统版本在 1809 以上;再检查证书是否导入到"本地计算机 → 受信任的根证书";最后确认 NuGet 依赖已完整还原。

Q:视频播放卡顿如何优化?在显卡设置中开启垂直同步;按网络情况调低默认画质;关闭动画特效,必要时降低弹幕密度。

Q:弹幕显示异常如何处理?在设置里调整弹幕密度上限、字号与速度;关闭弹幕合并或特效以降低渲染负担;重启应用重新加载弹幕数据。

Q:数据安全吗?项目声明数据仅在用户与 B 站之间流通,开发者不收集任何数据。但作为第三方应用,还是建议在可信环境下登录,并妥善保管账号信息。

Q:想研究代码从哪里入手?建议顺序:App.xaml.cs(启动流程)→AppViewModel(运行时状态)→BiliViewModel(业务处理)→BiliBili-Lib/Service(API 封装)→Components/Controls/VideoPlayer(播放器实现)。

八、写在最后

BiliBili-UWP 是一款"生不逢时"的优秀作品:它把移动端 B 站的交互解构后重装进桌面与平板,用原生 UWP 架构换来了网页版难以企及的流畅度,其模块化工程结构、双模式界面设计、精细的播放器参数体系,到今天依然是 UWP 开发者的参考范本。虽然项目因版权原因停止维护,但它留下的代码与设计思路,仍然值得每一位对 Windows 客户端开发感兴趣的读者深入研读。

下一步的行动建议很简单:先按"零基础快速体验"装一个试试手感,如果对工程感兴趣,再走一遍编译流程,从AppViewModel开始读起,你会打开一扇理解 UWP 应用架构的大门。

温馨提示:本项目仅供学习交流,不支持直播与视频下载功能,请尊重版权、规范使用。若追求长期稳定的日常体验,建议优先考虑官方客户端。

【免费下载链接】BiliBili-UWPBiliBili的UWP客户端,当然,是第三方的了项目地址: https://gitcode.com/gh_mirrors/bi/BiliBili-UWP

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询