一,APP创建直播流程
1,创建聊天室->
向APP服务器发起请求,APP服务器向网易服务器请求获取聊天室房间ID,请求参数如如下
头信息
appKey:appKey
Content-type:application/x-www-form-urlencoded;charset=utf-8
请求参数:
ext:额外的字段
type:语音或者视频直播,语音直播传1视频直播传2
meetingName:取36位UUID
uid:account用户的云信账号
avType:VIDEO或者AUDIO
返回
roomid:房间id
pushUrl:推流地址
2,创建直播间->
由APP调用sdk创建直播间,创建直播间成功后进入准备直播流程
包含进入聊天室,APP端调用sdk进入聊天室,房间ID为创建时服务器返回的roomid.
3,开启直播
请求摄像头录音权限,配置推流细节包含推流地址,软硬件解码,清晰度等
主播加入已经创建好的互动直播间,需要在配置项中设置enableLive=true方可开始推流
二,APP进入直播
1,用户输入房间id进入直播间请求拉流地址
头信息
appKey:appKey
Content-type:application/x-www-form-urlencoded;charset=utf-8
请求参数
roomid:房间id
uid:account用户的云信账号
返回参数
rtmpPullUrl:拉流地址
avType:直播类型-语音或者视频直播
2,观看直播
1,初始化美颜等参数
2,创建播放辅助类,设置接受的View,拉流地址,缓冲策略压缩策略等
3,通过播放辅助类打开直播并观看
三,发送礼物
礼物系统:礼物在云信中其实就是一个自定义类型的消息,该类型为礼物(其实和普通消息并无差别,只是展现方式的不同),
代码逻辑
1,创建一个GiftAttachment(GiftType, Cont)礼物附件,指定礼物类型比如汽车游艇等,指定数量
2,调用APP服务器接口,检查虚拟金币是否足够,如果足够允许发送,如果没有,提示用户充值
3,创建聊天室消息ChatRoomMessage(roomId,attachment),设置聊天室的ID,消息附件
4,调用聊天室SDK发送礼物(消息)
5,显示动画
其他观众逻辑
1,创建一个观察着并注册观察
2,当收到消息时解析消息
3,如果消息附件为礼物,则做动画展示
4,如果为普通消息,则直接显示消息列表中