2021-07-08

腾讯互动白板+即时通讯+实时音视频,Android学生端接入

腾讯互动白板+即时通讯+实时音视频,Android学生端接入

一、简介

线上教学方案:腾讯云互动白板(Tencent Interactive Whiteboard,TIW)+即时通信(Instant Messaging,IM)+实时音视频(Tencent RTC)实现老师线上互动教学

官方地址:

https://cloud.tencent.com/product/tiw

https://cloud.tencent.com/product/im

https://cloud.tencent.com/product/trtc

二、接入

1、前置步骤

需要在控制台申请appid,key等,参考:https://cloud.tencent.com/document/product/1137/39899

2、配置工程

app.build: 引用依赖库 rtc,im,eb,并指定app的cpu架构

android{ ... defaultconfig{  ...  ndk {   abiFilters "armeabi", "armeabi-v7a", "arm64-v8a"  }  ... } ...}...dependencies{ ... api 'com.tencent.liteav:LiteAVSDK_TRTC:8.7.10102' api 'com.tencent.imsdk:imsdk:4.8.50' api 'com.tencent.edu:TEduBoardSdk:2.6.0.98' ...}

project.build: app.build中的依赖文件下载出问题时,可以参考如下配置

buildscript { repositories {  ...  maven {url 'https://dl.bintray.com/tencentqcloudterminal/maven' }  ... }}...allprojects {  repositories {  ...  maven {url 'https://dl.bintray.com/tencentqcloudterminal/maven' }  ... }}

Manifest: 添加以下权限

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /><uses-permission android:name="android.permission.CAMERA" /><uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /><uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /><uses-permission android:name="android.permission.READ_PHONE_STATE" /><uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /><uses-permission android:name="android.permission.RECORD_AUDIO" /><uses-permission android:name="android.permission.VIBRATE" /><uses-permission android:name="android.permission.WAKE_LOCK" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.BLUETOOTH" /><uses-feature android:name="android.hardware.camera" /><uses-feature android:name="android.hardware.camera.autofocus" />

3、接入IM

  • 初始化IM:
V2TIMManager.getInstance().initSDK(Context context, int sdkAppID, V2TIMSDKConfig config,V2TIMSDKListener  listener)

sdkAppID: 上述控制台上申请的appid

config: 配置信息可为传null,目前只有配置日志等级,默认info级别

listener: 初始化回调接口,提供了网络状态和用户信息变化回调,所有V2TIMSDKListener回调都可以参考下:

回调方法描述推荐操作
onConnecting()SDK 正在连接到腾讯云服务器适合在 UI 上展示"正在连接"状态。
onConnectSuccess()SDK 已经成功连接到腾讯云服务器连接成功
onConnectFailed()SDK 连接腾讯云服务器失败可以提示用户当前网络连接不可用。
onKickedOffline()当前用户被踢下线此时可以 UI 提示用户"您已经在其他端登录了当前账号,是否重新登录?"
onUserSigExpired()在线时票据过期请使用新签发的 UserSig 进行登录。
onSelfInfoUpdated()登录用户的资料发生了更新可以在 UI 上更新自己的头像和昵称。

  • 登录IM:
V2TIMManager.getInstance().login(String userId, String userSig, V2TIMCallback callback);

userId: 用户id,可自定义,不超过32位

userSig: IM SDK 登录票据(token),由业务服务器生成

callback: 操作结果回调,所有V2TIMCallback回调都可以参考下表说明:

回调方法描述
void onError(int code, String desc);出错时回调,code码详情
void onSuccess();成功时回调

注意:调用 IM SDK Login 成功登录后,将会开始计算 DAU,请根据业务场景合理使用 IM SDK Login操作,避免出现 DAU 过高的情况。

登录时机说明
App 启动后首次使用 IM SDK 的能力时本项目为进入连麦模式才首次登录
IM SDK (V2TIMSDKListener) 抛出 onUserSigExpired 回调登录票据 (token) 已过期,需要使用新的 UserSig进行登录
IM SDK(V2TIMSDKListener) 抛出 onKickOffline 回调当前用户被踢下线,同平台多点登录时触发,可考虑重新登录或者下线

  • 退出登录:
V2TIMManager.getInstance().logout(null);

为了降低 DAU,项目在结束连麦后,要及时调用退出登录。


  • 加入群组:

群分类: 好友工作群(Work)、陌生人社交群(Public)、临时会议群(Meeting)、直播群(AVChatRoom);项目采用public群(需要审批),详细区别参考:官方群类型介绍

申请入群:

V2TIMManager.getInstance().joinGroup(String groupID, String message, V2TIMCallback callback);
参数说明
groupID群id,由主播端创建、业务服务器下发
message申请入群说明
callback发送申请状态回调

入群结果监听:void onApplicationProcessed(String groupID, V2TIMGroupMemberInfo opUser, booleanisAgreeJoin, String opReason) 其中isAgreeJointrue表示同意加群,反之被拒绝。同意加群后,全员(包括请求者)收到onMemberEnter回。

监听申请结果:

V2TIMManager.getInstance().setGroupListener(V2TIMGroupListener listener);

V2TIMGroupListener:该回调接口能监听所有群相关的状态,重要方法参考下表:

方法说明
void onMemberEnter(String groupID, List<V2TIMGroupMemberInfo>memberList)有用户加入群(全员能够收到)
memberList - 加入的成员
void onMemberLeave(String groupID, V2TIMGroupMemberInfomember)有用户离开群(全员能够收到)
member - 离开的成员
注意:群主只能解散群不能离开
void onMemberKicked(String groupID, V2TIMGroupMemberInfo opUser, List<V2TIMGroupMemberInfo>memberList)某些人被踢出某群(全员能够收到)
opUser - 处理人
memberList - 被踢成员
void onGroupDismissed(String groupID, V2TIMGroupMemberInfoopUser)群被解散了(全员能收到)
opUser - 处理人
void onGroupRecycled(String groupID, V2TIMGroupMemberInfoopUser)群被回收(全员能收到)
opUser - 处理人
void onApplicationProcessed(String groupID, V2TIMGroupMemberInfo opUser, boolean isAgreeJoin, StringopReason)加群请求已经被群主或管理员处理了(只有申请人能够收到)
opUser -处理人
isAgreeJoin - 是否同意加群
opReason - 处理原因

4、接入RTC

备注:rtc使用的房间为im中的房间

  • 概念:
名称说明
通话模式无旁路,本项目不用
直播模式有旁路
接口机用于连麦互动,费用高
代理机用于观众拉流观看,费用低
  • 初始化RTC:
  1. 获取 TRTCCloud 实例:TRTCCloud.sharedInstance(context);<......

    原文转载:http://www.shaoqun.com/a/854334.html

    跨境电商:https://www.ikjzd.com/

    汇通天下:https://www.ikjzd.com/w/2055

    c88是什么:https://www.ikjzd.com/w/1017.html

    周宁:https://www.ikjzd.com/w/1647


    腾讯互动白板+即时通讯+实时音视频,Android学生端接入一、简介线上教学方案:腾讯云互动白板(TencentInteractiveWhiteboard,TIW)+即时通信(InstantMessaging,IM)+实时音视频(TencentRTC)实现老师线上互动教学官方地址:https://cloud.tencent.com/product/tiwhttps://cloud.tencent.
    亚马逊选品思路,想要打造爆款离不开这几点!:https://www.ikjzd.com/articles/109585
    Shopify Q3财报:GMV148亿美元,营收同比增长45%!:https://www.ikjzd.com/articles/109586
    东南亚最难通关的印尼"红灯期"马上到了,你有过关绝招吗?:https://www.ikjzd.com/articles/109623
    出口越南的注意了!受事故影响,各大港口都堵塞了!:https://www.ikjzd.com/articles/109624
    他把舌头伸进两腿之间 舌尖逗弄她颤抖的小核:http://lady.shaoqun.com/a/248221.html
    男朋友在车里㖭我全身 男生技术好是一种体验:http://lady.shaoqun.com/m/a/248255.html
    口述:老婆在客厅当我面睡猛男老婆猛男客厅:http://lady.shaoqun.com/m/a/36578.html
    女人喂男人吃私人部位 女人下面被吃有多爽:http://www.30bags.com/m/a/249785.html
    2021年深圳啤酒节在哪里举行:http://www.30bags.com/a/479643.html
    深圳大榕树生态营地门票多少钱:http://www.30bags.com/a/479644.html
    深圳大榕树生态营地有什么好玩的:http://www.30bags.com/a/479645.html
    深圳大榕树生态营地在哪里(地址+怎么去):http://www.30bags.com/a/479646.html

No comments:

Post a Comment