想要在Windows上流畅看B站?这款第三方UWP客户端值得一试
【免费下载链接】BiliBili-UWPBiliBili的UWP客户端,当然,是第三方的了项目地址: https://gitcode.com/gh_mirrors/bi/BiliBili-UWP
你是否也有这样的体验:网页版B站在Windows上开着,风扇呼呼转,切个视频等半天,弹幕一多画面就卡成PPT?如果你正在寻找一个更顺手的Windows观影方案,那么BiliBili-UWP——一个专为Windows打造的第三方B站UWP客户端,或许正是你要找的答案。它用原生UWP架构把B站的视频、动态、番剧、私信统统搬进一个桌面应用里,界面跟手、播放流畅,还保留了B站那股熟悉的"味儿"。
为什么放弃网页版,转投原生客户端?
网页版功能很全,但在Windows上总有些说不出的别扭。这恰恰是原生UWP客户端的用武之地,两者对比一目了然:
| 日常困扰 | BiliBili-UWP 的解法 |
|---|---|
| 标签页越开越多,内存吃紧 | 独立原生应用,无浏览器多余开销 |
| 键盘操作基本靠鼠标 | 完整快捷键体系,方向键调进度、F11全屏 |
| 后台切出去视频就断 | 支持后台播放,边刷网页边听BGM |
| 想快速分享视频给好友 | 内置richasy-bilibili协议,一条Uri直达指定视频 |
更贴心的是,它把B站复杂的页面拆解重排成适合桌面/平板的两套界面,让"在电脑上刷B站"这件事变得自然得多。
摸清家底:项目结构与核心模块速览
开始动手之前,先花一分钟认识这个项目长什么样。整个仓库采用清晰的模块化分层,四个核心工程各司其职:
- BiliBili-Controls:自定义控件库,像自适应网格、瀑布流面板(
StaggeredPanel)、虚拟化列表都在这,是界面流畅的秘密武器。 - BiliBili-Lib:公共类库,封装了账号、视频、番剧等所有B站接口服务,核心代码集中在 BiliBili-Lib/Service 目录。
- BiliBili-Notification:后台任务组件,负责定时拉取动态更新并弹出通知。
- BiliBili-UWP:主程序,包含全部界面(
Pages-Desktop、Pages-Tablet、Pages-Share)与主题资源。
值得一提的是,应用采用经典的MVVM模式,运行时的状态管理由 AppViewModel 承担,而所有B站服务相关的操作则集中在 BiliViewModel 里,代码组织相当规整。
从拉取源码到首次启动:四步跑通
想亲手编译体验?整个过程比想象中简单。环境方面,推荐使用 Visual Studio 2019,系统需为 Windows 10 1809 及以上版本。
- 先将仓库克隆到本地:
git clone https://gitcode.com/gh_mirrors/bi/BiliBili-UWP- 用 Visual Studio 打开解决方案文件
BiliBili-UWP.sln,等 NuGet 依赖自动还原。 - 打开
BiliBili-UWP/Package.appxmanifest,在Package选项卡中重新生成一份测试证书(否则本地部署会因签名不一致而失败)。 - 右键主项目选择"重新生成"并部署,启动后跟随引导完成登录,即可开始使用。
首次进入时,你可以按设备情况在"欢迎页"选择显示模式:桌面模式信息密度高,适合 1080P 以上显示器;平板模式以横向滚动为主,更适合触控设备和 XBOX。
解锁桌面观影的隐藏玩法
真正上手之后,你会发现不少值得玩味的细节。先说最常用的快捷键,它把"追番刷视频"的操作成本降到了最低:
- 方向键:←/→ 微调进度,↑/↓ 调节音量,精确到秒
- Space:播放/暂停,F2开关弹幕
- F11:一键全屏,F10切换小窗,Esc快速退出当前状态
- Shift + S:一键截图,自动存到"图片库/Bili ScreenShot"
另一个亮点是应用预留了统一的Uri协议入口,其他应用可以像调起链接一样直接打开哔哩:
richasy-bilibili://navigate?action=video&aid=170001配合action=bangumi&epid=xxx还能直达番剧分集。如果你写小工具,这个"深链"接口相当实用。
想改功能?先读懂这几个服务层方法
对开发者而言,这个项目也是一本不错的UWP+MVVM实践教材。所有B站接口都被收拢在BiliBili-Lib的服务类中,命名直观,比如在 VideoService.cs 里就能找到播放相关的核心调用:
// 获取视频详情 var videoService = new VideoService(); var detail = await videoService.GetVideoDetailAsync(aid); // 构造自适应流媒体播放源(视频+音频分离的DASH方案) var mediaSource = await videoService.CreateMediaSourceAsync(video, audio); // 发送一条弹幕 await videoService.SendDanmakuAsync(text, aid, cid, progress, color, fontSize, mode);类似地,账号相关操作集中在 AccountService.cs,从登录、历史记录到收藏夹管理一应俱全。想自己加功能,照着这些服务类的方法签名扩展即可。
常见疑问集中解答
问:编译时提示证书/签名错误怎么办?通常是测试证书过期导致的。回到Package.appxmanifest的Package选项卡,重新生成证书并保存,再重新部署即可。如果运行安装包时提示需要证书,请手动将其导入到"本地计算机 → 受信任的根证书目录"。
问:播放视频卡顿,有什么优化技巧?项目文档里有一条很实用的建议:在显卡驱动设置中开启垂直同步(垂直同步,即让画面与显示器刷新率对齐的技术)。同时可以按网络状况手动降低清晰度,避免缓冲跟不上。
问:应用支持直播和视频下载吗?不支持。作者在项目声明中明确表示未提供观看直播及视频下载功能,这两块属于设计取舍,需要时可搭配其他工具使用。
写在最后
作为一个已停止维护但代码完整开放的学习型项目,BiliBili-UWP 的价值反而体现在"可读性"上——模块划分清晰、命名直白、注释虽少但结构易懂,无论是想体验原生UWP应用的流畅手感,还是想研究如何把移动端App"解构移植"到桌面,它都是一份难得的参考样本。
温馨提示:由于收到官方警告,该应用已从微软应用商店下架并停止维护,请仅将它作为学习交流项目使用,不要用于重度日常使用。登录前请留意使用环境安全,妥善保管自己的账号数据。
如果你对UWP开发感兴趣,或想在Windows上找回一点"原生观影"的清爽感,不妨把这份源码克隆下来,编译跑一遍,亲自感受它的设计巧思。开源项目的乐趣,正在于"看得见、摸得着、改得动"。
【免费下载链接】BiliBili-UWPBiliBili的UWP客户端,当然,是第三方的了项目地址: https://gitcode.com/gh_mirrors/bi/BiliBili-UWP
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考