Skip to content

feat: delegate narration playback through injected media manager - #33

Open
sansi-lcj wants to merge 4 commits into
mainfrom
codex/global-audio-focus
Open

sansi-lcj wants to merge 4 commits into
mainfrom
codex/global-audio-focus

Conversation

@sansi-lcj

@sansi-lcj sansi-lcj commented Sep 9, 2026

Copy link
Copy Markdown
Member

空间讲解与其他媒体同时播放时,调用方无法同步停止全部讲解轨道。本改造为 Player 和模型视频提供可选 mediaManager,由应用统一调度播放;Vreo 仅维护本地时间线、成员清理和异步任务代次。

一次讲解只建立一个 session,人声、配乐、视频通过 session.bind(element) 使用受控媒体操作;嵌套 SDK 和自定义关键帧捕获该 session 的 mediaManager。用户点击通过 userAction: boolean 传入,普通调用默认 false。取消、卸载和资源替换使旧的加载、手势和定时回调失效,保留讲解内部混音与局部播放按钮。

这是对上一轮 alpha 的接口修订:删除 SDK 的 AudioFocus/lease 接口,不保留旧 alpha 参数兼容。已发布 @realsee/vreo@2.6.4-alpha.5,开发和 peer 依赖精确绑定 @realsee/dnalogel@3.81.10-alpha.4

本次兼容发布仅更新版本与 dnalogel 精确依赖、锁文件,以纳入 #88128 的异步暂停后状态同步修复,以及 dnalogel 远端并发的媒体平面修复;Vreo 播放器源码未变。与官方 alpha.4 tarball 逐文件比较,仅 package.json 不同;所有 lib、类型声明和样式资源字节一致。官方 registry 已验证 alpha 指向 2.6.4-alpha.5,latest 保持 2.6.2。

验证:

  • 标准 npm run packages(Babel JS + TypeScript declarations)构建。
  • npm run test:audio-focus:14 项,包括受控媒体操作、加载和播放 Promise 取消、关键帧迟到 readiness、成员停止与完成。
  • 独立 Vite consumer 直接导入 Player 和默认样式,消费实际 tarball 完成生产构建。
  • next-vr TTS/回答生命周期 6 项集成回归通过;自定义 VreoTag 会话绑定 2 项回归通过。

移动端 Safari、微信 WebView 与 XR 实播仍需联合设备验收。未修改 Live、jsbridge-x、Five 引擎或 RTC 协议。

@sansi-lcj sansi-lcj changed the title feat: add narration-scoped audio focus feat: delegate narration playback through injected media manager Sep 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant