随心播代码导读.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
随心播 (Andorid) DEMO 快速入门 版本号 1.0 Willguo 随心播导读 目的 2 框架介绍 2 主线流程 2 工程导入配置 4 二次开发 4 1 框架介绍 应用框架 随心播就是利用腾讯云提供的云服务(主要是云通信和音视频)构建的一个视频直播类应用。DEMO实现的是手机上的软件层。包括支持云通信IMSDK,支持音视频AVSDK,文件上传的SDK(可选),帐号注册服务TLSSDK和CrashLog上报SDK(可选)。随心播代码的核心整合IMSDK 和AVSDK 进行视频直播。IMSDK负责整个消息系统,AVSDK负责音视频数据。 用户服务器主要任务是分配房间ID,维护直播列表。个人资料信息可以通过用户服务器维护。也可以托管给云通信(IMSDK)后台。随心播目前做法的是后者。用户服务器由客户方维护。腾讯提供开源代码参考。 代码框架 Android代码采用主流MVP架构 Views: 所有界面类,包括登录、主界面、直播界面以及一些自定义控件。 Presenters : 所有界面的逻辑操作,包括初始化逻辑,进出房间逻辑,直播交互逻辑,登录逻辑等。以及逻辑操作的回调接口,这些接口会被需要对应功能的界面实现。 Model : 数据类包括当前房间信息类,个人状态类,文本消息类,AV成员类。 AVControllers 里面保留了AVSDK一些操作类包括显示控制类,AVSDK初始化类 典型MVP操作流程示例 View有某些功能,持有对应功能的Presenter类,View触发功能,调用对应的Persenter方法,Presenter将处理结果通过ViewInface接口类回调给对应的View. View根据数据进行界面显示。 View类只做界面相关事情,数据逻辑都丢给Presenter处理。 直播房间 是由IMSDK的聊天室AVChatRoom和AVSDK的房间AVROOM共同组成的。两者生命周期一致,创建房间就是创建一个聊天室同时创建一个AVROOM。聊天室负责直播过程中消息,包括群消息,C2C消息。文本消息,点赞,以及一些互动邀请和应答信令都是通过IMSDK的消息来实现的。AVROOM负责直播过程中音视频数据。利用成员状态的回调来请求成员音视频,虽然它也有成员上下线通知(房间成员过大不准),但一般用IMSDK消息来维护群成员。 IMSDK消息:成员进出群通知,互动邀请与应答,点赞,文本消息,群解散消息。 AVSDK回调 :直播中成员音视频状态变化 普通直播交互通过发送文本消息和点赞。文本消息是群消息。点赞是C2C消息 互动直播 最多请求4路下行。也就是成员可以请求4路视频。或者3路下行,一路上行。互动直播的邀请与应答都是通过IMSDK的C2C消息。而获取直播中的成员音视频数据以AVSDK的回调为准。一个邀请的基本流程是A通过IMSDK的发起邀请。成员B接收邀请应答一个C2C消息同时开启自己的摄像头。这时AVSDK的onEndpointsUpdateInfo回调会通知成员B的状态改变,A直接发起AVSDK视频请求即可获取画面。 2主线流程 1初始化 主要业务逻辑都在InitBusinessHelper这个类里面。在应用的Application里面调用initAPP()方法。它执行了包括初始化AVSDK,初始化IMSDK,初始化TLSSDK,以及初始化Bugly操作。 2 帐号注册和登录 1 随心播帐号采用的TLS String方式的。TLS也支持其他包括手机微信QQ等。具体请参考腾讯TLSDEMO 2房间号是用户服务器根据ID分配一个固定值(int型,因为AV房间必须是int),IM聊天室Id和AV房间Id目前是一个值,只不过前者是String后者是int。 3StartAVSDK必须等IM登录完成才行,不能倒置。 3 发布一个直播 1直播房间是由聊天室和AVROOM共同构成,创建一个直播就是创建一个聊天室,加入一个AVROOM。AVROOM没有创建的概念。 2必须的进入房间之后才能初始化SurfaceView,初始化完了之后才能打开摄像头。 3 主播渲染,无需向AV后台请求自己画面,设置ID,本地渲染即可。设置ID和渲染也不能逆序。 4 加入一个直播 1 加入聊天室,加入AV房间。 2 加入房间初始,通过监听OnSemiAutoRecvCameraVideo来判断已经加入房间互动观众,直接渲染互动观众画面的,无需请求。过程中如果成员状态变化,通过onEndpointsUpdateInfo要请求对方画面,再渲染。 3 如果摄像头变化的是自己,直接本地渲染就可以了,无需请求。 5 互动直播流程 1 信令

文档评论(0)

yuguanyin2015 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档