Answers
我之前做过广告机的开发,我的实现是用html来布局屏幕(把屏幕分成多个区域,每个区域播放不变内容,包括图片,flash,滚动字幕等),视频是本地的一个可改变位置和大小的播放器浮窗,叠加在网页上面的。
视频文件一般是事先已经缓存下载到本地的(广告的视频通常都需要长时间循环播放,节省带宽和稳定播放是关键,下载后即使网络断开也可以继续播放),所以这个问题就变成如何连续无缝(即播放视频与视频之间要快速切换,不闪烁,不出现短暂黑屏,就像电视连续播放的广告片一样)播放多个本地视频文件。
我使用过的方法是用两个播放器实例,一个在播放的同时,另一个刚预先缓存下一个视频,但在第一帧的位置暂停。而第一个播放器在播放到最后一帧时,不要马上消毁(否则会马上出现黑屏,影响视觉),然后立即调出已缓存的播放器播放,这样可以做到在视觉上看不出有黑屏闪过。
在Android上实现的话,可能需要优化底层的mediaplayer(C++层的),让其播放完后,保留其中的实例,以便重新使用。
切换屏幕的布局,就是简单的重新load一下html,随便提一下,对于非实时数据的广告机,模板,即html数据,也是打了包先下载到本地的,所以load时比较快。
草泥马骑士
answered 9 years, 5 months ago