feat(external-player-console): 弹幕控制台新功能追加·其二#748
Merged
MCDFsteve merged 21 commits intoJul 17, 2026
Conversation
保留现有的 Windows, macOS 和 Linux 播放器启动和弹幕注入行为. 仅针对 Linux mpv 会话启用 IPC 生命周期监控和弹幕控制台.
Kuuhaku31
force-pushed
the
feat/external-player-console/danmaku
branch
from
July 17, 2026 07:09
25f2ff2 to
a9c84a4
Compare
Kuuhaku31
force-pushed
the
feat/external-player-console/danmaku
branch
from
July 17, 2026 08:09
3405289 to
953d3a3
Compare
Kuuhaku31
marked this pull request as ready for review
July 17, 2026 08:10
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
预计添加的新功能
以上部分功能还在绝赞开发中
备注
以上功能目前只支持 Linux + mpv 播放器,
不过本次修改了相关结构,
未来可以很方便的扩展到其他平台和播放器(交给有缘人).
其他细节
外部播放器控制台
弹幕样式热更新
ExternalPlayerConsoleService统一维护DanmakuItem列表, ASS 设置, 透明度和描边状态.stroke + 1.0.弹幕模型与 ASS 转换
DanmakuItem作为 ASS 生成和控制台展示的统一数据模型.AssDanmakuEvent,DanmakuAssConversionResult,ExternalPlayerDanmakuItem以及不再需要的WithEventsAPI.进程生命周期与平台兼容性
ExternalPlayerSession负责外部播放器的创建, 终止和进程状态管理.ExternalPlayerConsoleService只维护控制台业务状态, 并监听 Session 的关闭状态..lnk和普通可执行文件: macOS 继续支持.app, 普通可执行文件和 security bookmark: Linux 继续以独立进程启动播放器.Platform.isLinux && session.type == ExternalPlayerType.mpv时注册弹幕控制台: 控制台服务自身也会拒绝其他平台或播放器类型.