K8.04.3playback ownership after disconnect设计
断连后的状态归属需明确
别名: 投屏断连 · 会话归属 · cast handoff · 断线后谁在播
概念解释
影片正在电视上播,人走进另一房间,手机离远了;或者会议结束拔掉线。电视是接着播、停在最后一帧、回到主页,还是把进度交回手机继续在耳朵边放?断连后的状态归属要在断线这一刻说清:播放、进度、音量、队列现在由哪一台负责。YouTube 投播常常让电视自己接着放,手机只是遥控器丢了;镜像一断,画面立刻没了,因为源设备不再送帧。同一次「断开」在两种结构里结局相反,若不标明,人会以为电视死机,或以为手机还会在口袋里出声。
机制
投播会话有一个权威端:独立播放时权威在接收盒,源设备是控制器;镜像时权威在源,接收端只是显示器。断连切断的是通道,不是自动选出新的权威。没有规则时,两端会各自猜:接收端继续播一份已经在本地缓冲的流,源设备又在本地从同一进度拉起,于是一声变两声;或两端都停,进度只写在其中一台的内存里,下次打开跳回更早的位置。人在断连当下正在走路或收拾包,没有空去看设置。归属规则必须能被那一瞬间的界面说完:「电视将继续播放」「画面已回到这台手机」「进度已保存,可在其他设备接着看」。谁拥有进度,谁就负责下次续播;谁拥有音视频出口,谁就负责现在还出不出声。
边界
源设备电量耗尽、被强制关机,无法再弹出说明,接收端必须单独有一份默认(继续播到本集结束 / 立即停),并在屏幕上自己写出来。公共会议室的接收端在会话结束后应清掉画面和账号,归属规则要服从隐私清除,而不是把影片接着播给下一场会议。直播没有「存进度回家看」这一选项,断连只能是停或由接收端继续跟直播头。车机与手机的蓝牙音频断连有自己的音频路由惯例,不要把客厅投屏的规则直接套上去。
怎么落地
- 为每种投屏结构写一条断连默认:独立投播默认接收端继续并在大屏显示「手机已离开,电视继续」;镜像默认立即停在接收端,源设备恢复本地画面。
- 提供与默认相反的一次性选择(「断开后停在电视上」「带回手机继续」),选在断开之前或断开后几秒的可撤销窗口里。
- 进度只允许一个权威写入:继续在电视上播则电视写进度;带回手机则手机写。禁止两端同时从同一位置起播。
- 验证:投一部剧到电视后把手机带出房间直到断连;确认电视按声明继续或停止,手机没有在口袋里出声。再镜像一张照片后关掉源应用,确认电视不再留着最后一帧,且不会在源设备上另起一路播放。