android 联屏播放原理
下午工作比较清闲,闲得无事,准备研究一下联屏播放的功能,因为以前有想过这个的操作方法,以前看过和风 做的联屏播放 ,
想了一下,无非就是实时检测当前的进度和主屏幕的进度,做一个对比,然后把其他的屏幕进度和主屏幕进行统一就行了,写了一个小demo,效果还不错,分享给大家,后面如果有需求,我再来细化。
1:从画面看,想要同步,就必须有语言的交互,
使用服务器http来同步?显然时间误差比较大
2:第一个想到的就是UDP通讯。说到这里,大家基本应该知道怎么实现了
3:设定一台为主屏幕,其他的屏幕全部是副屏
4:主屏和副屏在同意局域网下,UDP指令获取所有的设备IP地址
5:主屏在开始播放的时候,实时发消息给所有的IP,把当前进度发过去
6:副屏接受进度,根据自己当前的进度来计算,如果误差大于50 .就把自己的进度往前移动一定的进度
7:移动的进度怎么算呢 ?这个就需要看发消息的时间差
主屏的发送时间和设备接受的时间,有一个时间差,这个时间肯定是要计算进去的。每一秒算一次,基本上3秒后,屏幕播放 是统一的,
这里给出思路,暂时不贴代码了 ,需要demo的,去这里下载把 ,demo比较简单,但是基本实现了功能,具体细节的东西,还是需要自己去深入研究下
代码使用方法 :
AppConfig 中的App_TYPE 用来区分主副屏幕,需要分开运行,
主屏的按钮,点击一下,就可以获取副屏的IP了
https://pan.baidu.com/s/1QgNt4dd1ZVyObhn4Sjm8vA
提取码:e1o9