直播,作为时下最热门的娱乐工具让人们纷纷为之着迷,小编作为多年直播观众,总结了下这段时间的收获以及手机直播开发流程279;
手机直播开发使用基本的MVC框架即可,部分Controller的业务逻辑较多,独立的业务可以拆分出去作为一个单独的Catagory;Model的数据变化采用event(notification)的形式通知,便于做多处数据绑定;Model之间的相互独立,如果由业务需要,需要交换Model的数据,由Controller代为处理;HTTPService为AFNetworking封装,回调Model以Block块为主,特殊的业务逻辑以event(notification)的形式通知279;
具体模块
视图79;
1、GiftView79;
显示礼物,管理小礼物与豪华礼物动画
核心
小礼物连击效果,队列存储豪华礼物消息,播放完毕回调
小礼物用CAAnimation动画和UIView Block动画
豪华礼物用CAAnimation动画和UIView Block动画+GCD协调279;
2、MessageView79;
显示聊天消息,弹幕消息
核心
聊天tableView,用NSMutableAttributedString显示富文本
- (CGRect)boundingRectWithSize:options: attributes:context:计算高度并缓存
弹幕消息用队列存储弹幕,UIViewBlock动画循环播放,最多同时显示条数限制279;
控制器79;
1、ChatViewController79;
第三方聊天控制器做基类,自定义业务逻辑,包括私聊送礼物、广告屏蔽等,包括ChatListViewController和ChatDetailViewController279;
2、WatchLiveViewController79;
观看直播控制器,包括LivePlayer(视频流播放器),房间业务逻辑相关,接受聊天消息转发给MessageView,切换前后台(APP生命周期)控制279;