█ 【安卓学习之互动直播】 腾讯云直播 2 - 获取直播列表/创建房间

█ 相关文章:

● 【安卓学习之互动直播】 腾讯云直播 1 - 注册/登录/个人信息
 ● 【安卓学习之互动直播】 腾讯云直播 2 - 获取直播列表/创建房间

█ 读前说明:

● 本文通过学习别人写demo,学习相关知识,如果涉及侵权请告知
 ● 本文只简单罗列相关的代码实现过程
 ● 涉及到的逻辑以及说明也只是简单介绍,主要当做笔记,了解过程而已
 ● 直播列表、创建房间等信息是存在自己搭建的服务器上
 ● 目前腾讯云互动直播在 GitHub 上提供了两个示例:
   随心播 演示了包括界面和后台交互的完整的直播流程。
   简单直播 最简单的互动直播示例,演示了最关键的几个接口的调用。
 ● 随心播客户端刷不出直播列表? - 问答 - 云+社区 - 腾讯云
█ 直播流程示例:

● 实际上还缺少了直播列表等信息,这些需要自己搭建服务器来实现

█ 网络通信:

● 这里使用的是目前最流行的第三方库OkHttp(目前已经集成到android系统中了)
 ● OkHttp的通信代码

 public void request(String url) {OkHttpClient okClient = new OkHttpClient();final Request request = new Request.Builder().url(url).build();okClient.newCall(request).enqueue(new Callback() {@Overridepublic void onFailure(Call call, IOException e) {// 网络异常,比如手机没网络(java.net.UnknownHostException )Message msg = uiHandler.obtainMessage(WHAT_FAIL);msg.arg1 = -1;msg.obj = e.toString();uiHandler.sendMessage(msg);}@Overridepublic void onResponse(Call call, Response response) throws IOException {//不是UI线程if (response.isSuccessful()) {// 通信成功Message msg = uiHandler.obtainMessage(WHAT_SUCC);msg.obj = response.body().string();uiHandler.sendMessage(msg);} else {// 服务器异常,比如服务器没启动Message msg = uiHandler.obtainMessage(WHAT_FAIL);msg.arg1 = response.code();msg.obj = "服务器异常";uiHandler.sendMessage(msg);}}});}

PS1:okClient请求后的返回数据不在UI线程,所以需要通过uiHandler将数据传递到UI线程,再在界面上面显示
   PS2:非UI线程不能进行UI控件操作
 ● 直播列表的获取接口:   
 - 请求的Get拼接URL的后缀:…?action=getList
 - uiHandler 的定义:

 private Handler uiHandler = new Handler(Looper.getMainLooper()) {@Overridepublic void handleMessage(Message msg) {int what = msg.what;if (what == WHAT_FAIL) {// 通信失败Toast.makeText(this, "请求列表失败:" + msg, Toast.LENGTH_SHORT).show();mRefreshLayout.setRefreshing(false);} else if (what == WHAT_SUCC) {// 通信成功// 对(String) msg.obj这个数据解析,得到直播列表List<-RoomInfo> roomInfosmLiveListAdapter.removeAllRoomInfos();//下拉刷新,先移除掉之前的room信息mLiveListAdapter.addRoomInfos(roomInfos);//再添加新的信息mRefreshLayout.setRefreshing(false);}}};

PS:正常服务器返回的是json格式的字符串,可以通过gson或者fastJson进行解析,转成对象集合 List<-RoomInfo>
 ● 创建房间的获取接口:
 - 请求的Get拼接URL的后缀:…?action=create &userId=%s &userAvatar=%s &userName=%s &liveTitle=%s &liveCover=%s
 - uiHandler 的定义:

 private Handler uiHandler = new Handler(Looper.getMainLooper()) {@Overridepublic void handleMessage(Message msg) {int what = msg.what;if (what == WHAT_FAIL) {// 通信失败Toast.makeText(this, "请求失败:" + msg, Toast.LENGTH_SHORT).show();} else if (what == WHAT_SUCC) {// 通信成功// 对(String) msg.obj这个数据解析,得到RoomInfo roomInfos信息,其中roomId是服务器后台分配的Toast.makeText(this, "请求成功:" + roomInfo.roomId, Toast.LENGTH_SHORT).show();//                 }}};

创建房间 - 直播接口 - 互动直播 - 文档平台 - 腾讯云
   PS1:以上文档可以看出创建房间,其实指需要对应的房间ID(房间唯一标识)roomId(建议由业务方后台统一分配)
   PS2:为了展示界面的完整性,所以在创建房间时,顺便加入了主播ID(userId)、主播昵称(userAvatar)、主播名称(userName)、主播主题(liveTitle)、主播封面(liveCover)等信息
   PS3:创建房间成功后,服务器后台分配房间ID号(roomId),这样加上观看人数(watcherNums)就凑成全部的房间信息了
  
█ 相关资料:

● 1.2018年02月11日 腾讯im及时登录注册 - 隔壁老张头的小窝 - CSDN博客
 ● 2.云通信 - 文档平台 - 腾讯云
 ● 3.下载代码 - 互动直播 - 文档平台 - 腾讯云(文档平台 ->互动直播 ->IE 浏览器集成 ->下载代码)
 ● 4.下载代码 - 互动直播 - 文档平台 - 腾讯云(文档平台 ->互动直播 ->Android 端集成 ->下载代码)
转载请注明出处:
https://blog.csdn.net/ljb568838953/article/details/81591807

【安卓学习之互动直播】 腾讯云直播 2 - 获取直播列表/创建房间相关推荐

  1. 【安卓学习之互动直播】 腾讯云直播 1 - 注册/登录/个人信息

    █ [安卓学习之互动直播] 腾讯云直播 1 - 注册/登录/个人信息 █ 相关文章: ● [安卓学习之互动直播] 腾讯云直播 1 - 注册/登录/个人信息 ● [安卓学习之互动直播] 腾讯云直播 2 ...

  2. 安卓rtmp推流app_直播-腾讯云推流-sdk 播放地址不正确的解决方案---蜻蜓系统-uniapp-flutter通用...

    直播-腾讯云推流-sdk 播放地址不正确的解决方案---蜻蜓系统-uniapp-flutter通用 方法文件: /app/Services/LiveService.php 这个问题耽误了时间,有必要记 ...

  3. Android开发-在Android里接入腾讯云推流SDK实现直播推流的功能

    前 言 如今,在国内移动互联网发展了几年的时间,移动开发技术也相对的成熟,在咱们日常使用的手机App中也少不了直播的功能,不管是娱乐类.游戏类.体育类还是教育类等的App都会有直播的功能,可以说直播的 ...

  4. android直播 腾讯云,Android 腾讯云直播 自定义消息收发

    写在前面 最近呢,在做腾讯云直播,也已经实现功能啦,现在就开始总结一下,腾讯云直播的自定义消息收发. 云直播的自定义消息收发,不得不说的点就是 腾讯云IM,做过腾讯云IM的都知道 消息总体分为以下几种 ...

  5. 互动:腾讯云全员发iPhone11Pro,你们公司的年终奖是什么?

    临近年底,又到了晒年终奖.晒福利的时候,此前有消息称,腾讯云2019年完成100亿元营收目标,为此腾讯公司奖励每人一部iPhone 11 Pro新款手机,近日被官方证实消息属实.你的年终奖确定了吗? ...

  6. vue 上传视频到腾讯云存储并获取视频第一帧

    官网文档链接:https://cloud.tencent.com/document/product/436/6268 需求 项目里之前上传视频是调后端接口,接口将视频保存到服务器,然后返回视频链接. ...

  7. 直播预告 | 腾讯云工业AI系列直播

    随着工业革命的不断推进,人工智能等新技术新理念在各行业兴起.同时,各行业也逐步向数字化.智能化.自动化转型,进入现代化工业新阶段. 工业质检是整个制造中一个非常重要的环节,但工业AI质检的有效落地是我 ...

  8. 功能升级丨腾讯云Web直播互动组件火热上线!

    没有华丽的直播间,没有忙前忙后递产品的助理,在家找个角落,打开手机就开始直播:有的一边直播一边带娃,有的拿着手机摇摇晃晃还保持不了手机的稳定,一切都与大家熟悉的网红主播不太一样,让网友们直呼太接地气. ...

  9. 腾讯互动直播php,【模块教程】腾讯云视频互动直播(tencentTrtcLiveRoom)教程

    ##**腾讯云视频互动直播** 腾讯云视频互动直播模块,提供互动直播的功能,包括直播.连麦PK.主播 PK.低延时观看.弹幕聊天等在互动直播场景下的相关能力. ##**技术支持** 原生模块本身使用复 ...

最新文章

  1. MPB:农科院牧医所赵圣国组-基于GraftM对功能基因进行物种注释
  2. Spring Boot + Vue 前后端分离,两种文件上传方式总结
  3. 成年人改变生活的方式,都是从它开始
  4. 多线程中的volatile和伪共享
  5. C++11学习 virtual(虚函数)的用法
  6. java开发项目实例_Alibaba内部出品Java突击手册,大量开发实战项目分享
  7. Java占位符替换工具类
  8. 爬楼梯(信息学奥赛一本通-T1204)
  9. 开源erp_大公司为何使用开源ERP
  10. linux下python开发工具_Python开发工具 Wing IDE
  11. 几行VB代码拿下注册表
  12. i2c通信的详细讲解_STM32Cube15 | 使用硬件I2C读写温湿度传感器(SHT30)
  13. Python爬虫的学习入门
  14. 浏览器解析jsx_jsx的本质
  15. Ubuntu 搭建opengrok 流程
  16. 数据分析基础——基本运算
  17. Go官方包 - strings包
  18. 利用3D面部表情及口语语言的多模态方法进行抑郁症智能化识别
  19. 如何检测计算机性能 具体步骤,如何测试电脑性能
  20. 解决docer login报错 panic: runtime error: invalid memory address or nil pointer dereference

热门文章

  1. 并发(并行)、共享、虚拟、异步
  2. 信息系统项目管理师必背核心考点(六十一)项目组合概念
  3. 周黑鸭 vs 绝味鸭脖,俺们不一样【姜太公公】
  4. SSM登录注册和邮箱激活
  5. Unity3D插件详细评测及教学下载
  6. Java基础阶段综合练习
  7. D4-读论文D4算法题D4(复习)
  8. *.hbm.xml总结
  9. 国际象棋引擎文章(一)uci协议
  10. 数学建模实战——茂名市科技创新和科技金融评价模型