直播
2023-02-16 17:24:40 0 举报
AI智能生成
直播流程图
作者其他创作
大纲/内容
IM
系统通知消息
type<br>3 => 指定用户禁言<br>4 => 指定用户解除禁言<br>5 => 全员禁言<br>6 => 全员解除禁言<br>7 => 直播开始<br>8 => 直播结束<br>9 => 直播断流(推流端暂时中断直播)<br>10 => 直播推流<br>11 => 直播间信息更新<br>13 => 删除指定消息<br>14 => 更新直播间人数<br>17 => "产品购买人数",<br>18 => "优惠券使用人数",<br>19 => "直播公告",<br>20 => "用户商品浏览消息推送",<br>21 => "用户购买记录推送"<br>22 => "用户进入直播间"<br>23 => "PC开播切换推流方式成功"<br>24 => '直播间产品更新',<br>25 => '分享邀请成功'<br>26 => '连麦(详情参见连麦im说明)',<br>27 => '混流布局参数',<br>28 => '开启连麦',<br>29 => '关闭连麦',<br>30 => '抽奖活动',<br>33 => '邀请活动',<br>34 => '问卷活动',<br>36 => '直播间开启举手 (群聊)',<br>37 => '直播间关闭举手(群聊)',<br>38 => '举手im推送type都为38,通过raise_hand_type区分不同的举手场景',<br>39 => '所有用户手放下 (群聊)',<br>
可视化互动区消息
type<br>1 => 普通文本<br>12 => 提问文本或者@文本<br>2 => 图片<br>15 => 优惠券<br>16 => 产品
文本
普通文本
提问文本
@文本
图片
点击交互
查看大图
长按交互
助教
自己的消息
显示删除功能弹窗
他人的消息
显示删除、禁言、@功能弹窗
观众对于他人的消息
显示@功能弹窗
产品
IM互动区
根布局<br>
broadcast_product_type==1<br>平台产品打开产品详情弹窗<br>
非平台产品(简小知写字课和阅读课)<br>第三方产品broadcast_product_type==2<br>检测产品已购情况<br>api/broadcast_goods/data<br>
按钮<br>
平台产品broadcast_product_type==1<br>未购进行购买操作<br>已购弹学习弹窗
第三方产品broadcast_product_type==2<br>检测产品已购情况<br>api/broadcast_goods/data
推送卡片
优惠券
判断优惠券状态<br>api/broadcast_ticket/verify<br>
领取优惠券<br>api/broadcast_ticket/receiveTicket<br>
同时打开推荐产品列表
更新提示
检查更新
发送IM消息
助教默认使用接口发送消息(防禁言)<br>api/user/sendManagerMsg<br>
type:<br> 1-文本;<br> 21-图片;<br> 22-图片;<br> 23-优惠券;<br> 24-产品;<br> 25-公告<br> 26-活动推送<br> 27-问卷/问答活动-单条推送<br><br>content:<br> type=23---优惠券id<br> type=24---为直播间关联的产品id(不是 product_type、product_id那个)<br> type=25---公告id<br> type=26---活动id<br> type=27---question_id<br>
观众
文本消息
V2TIMManager.getMessageManager().sendMessage<br>V2TIMManager.getMessageManager().createCustomMessage<br>type=0,content=内容文本<br>或者<br>V2TIMManager.getInstance().sendGroupTextMessage<br>
提问文本消息
V2TIMManager.getMessageManager().sendMessage<br>V2TIMManager.getMessageManager().createCustomMessage<br>type=1,content=内容文本
@消息
V2TIMManager.getMessageManager().sendMessage<br>V2TIMManager.getMessageManager().createTextAtMessage<br>
SDK流程
初始化
进入直播间访问后端接口获取im登录相关参数<br>接口api/user/userSig
初始化im,并登录im<br>初始化:V2TIMManager.getInstance().initSDK<br>登录:V2TIMManager.getInstance().login<br>
登录成功后,初始化用户头像和昵称,同时加入群组<br>初始化:V2TIMManager.getInstance().setSelfInfo<br>加入群组:V2TIMManager.getInstance().joinGroup
初始化群组回调,初始化im消息回调<br>群组回调:V2TIMManager.getInstance().setGroupListener<br>消息回调:群聊V2TIMManager.getMessageManager().addAdvancedMsgListener<br> 单聊V2TIMManager.getInstance().addSimpleMsgListener
初始化im的回调中返回用户im被踢下线回调<br>onKickedOffline<br>
退出
退出直播间时,退出im相关群组与登录状态<br>退出群组V2TIMManager.getInstance().quitGroup<br>退出登录V2TIMManager.getInstance().logout<br>
拉流观看
屏幕方向(view_mode)
1 -> 横屏
2 -> 竖屏
直播类型(type&fast_play_url)
type==1 && fast_play_url不为空 -> 快直播
LEB的WebRTC拉流模式
github地址:https://github.com/tencentyun/leb-android-sdk
type==1 && fast_play_url为空 -> 标准直播
TXLivePlayer的HLS混流拉流模式
腾讯云文档:https://cloud.tencent.com/document/product/454
type==2 -> 录播
TXVodPlayer的云点播模式拉流
腾讯云文档:https://cloud.tencent.com/document/product/266
直播状态(live_status)
0 -> 未开始
暖场视频
未到直播时间
当进入到直播间,请求/api/broadcast/info 或者 接收到IM消息type==11刷新接口
到暖场视频开始时间 或者 从暖场视频开始时间算起到现在时间,执行播放操作
循环播放 play_mode==2
不循环播放 play_mode==1
播放结束展示倒计时页面
已到直播时间
刷新直播信息接口
已开播
暖场视频停止并隐藏
未开播
循环播放--播放视频并循环播放直到开播
不循环播放--播放视频结束后展示提示页面
1 -> 直播中
2 -> 直播结束
直播回放
直播模式
拉流:拉取后端混流后的流地址<br>连麦:切换到trtc实时音视频sdk
连麦
角色
直播间老师
主画面流
屏幕分享 - 辅流
白板课件流 - tiw开头的流
嘉宾
观众
助教
邀请观众连麦
接受观众连麦申请
上麦
取消连麦申请
静音、解除静音
TRTCCloud.muteLocalAudio<br>观众IM:type==26、join_anchor_type==4<br>静音:data.type==12->关闭音频轨道推流<br>解除静音:data.type==13->打开音频轨道推流<br>
开启连麦
音频连麦
观众显示连麦入口<br>观众IM:type==28,open_type==2
音视频连麦
观众显示连麦入口<br>观众IM:type==28,open_type==1
关闭连麦
观众隐藏连麦入口<br>观众IM:type==29
连麦流程
观众主动申请连麦
观众申请连麦
同意连麦
上麦等待10s开始连麦
老师/助教邀请连麦
观众弹出连麦接受弹窗
接受
等待10s开始连麦
拒绝
多人连麦
多人连麦布局 蓝湖:https://lanhuapp.com/web/#/item/project/stage?tid=bb069635-96c5-4822-bbe4-140560b65e33&pid=e04c0361-591d-4e68-ae88-df7840998fff
抽奖
流程
关闭抽奖活动 lottery_type==2
观众隐藏抽奖入口
开启抽奖活动 lottery_type==1
观众显示抽奖入口
打开抽奖主页
做任务获取抽奖卡
开启抽奖轮次<br>IM:lottery_type==3
开始抽奖,下发抽奖凭证<br>IM:lottery_type==4
观众显示抽奖结果
观众完成任务播报
弹任务完成氛围
中奖结果播报
弹中奖结果弹窗
问卷
老师/助教向观众提问
观众弹出问卷卡片入口<br>IM:type==34
进入问卷回答弹窗页面
举手
角色
老师、助教
开启举手<br>
全部手放下
单独对某个用户放下手
关闭举手
观众
举手
举手流程
老师/助教开启举手
观众举手入口显示,并举手
老师/助教同意举手
老师/助教放下举手
观众举手状态变成未举手
举手列表
老师/助教全部手放下或者<br>单独对某个用户放下举手
老师/助教关闭举手
观众举手入口关闭
观众举手
0 条评论
下一页
为你推荐
查看更多