一门APP开发教程

标题: 页面应用JS接入TRTC 实时音视频 实现实时通话或者会议 [打印本页]

作者: 陈家粉儿    时间: 2020-5-27 16:28
标题: 页面应用JS接入TRTC 实时音视频 实现实时通话或者会议
页面应用JS接入TRTC 实时音视频   实现实时通话或者会议

♦ 腾讯云官方参考资料:
♦ TRTC实时音视频
♦ 产品文档
♦ 服务器端API
♦ 客户端API
♦ 用腾讯平台提供的 SecretKey 在服务器端计算 UserSig

setListener 设置监听器
  1. //所有事件请参考 TRTCCloudListener
  2. //详细说明 http://doc.qcloudtrtc.com/group__TRTCCloud__android.html#a22fe2f31f2ef62fb3c6cba083dc6c016
  3. //所有事件 http://doc.qcloudtrtc.com/group__TRTCCloudListener__android.html#classcom_1_1tencent_1_1trtc_1_1TRTCCloudListener
  4. jsBridge.trtc.setListener(function(event, data) {
  5.   show({
  6.     event: event,
  7.     data : data
  8.   });
  9. });

  10. //请拉到页面底部查看回调数据信息
  11. $('html,body').animate({ scrollTop: $('#view').offset().top }, 500);

  12. /**
  13. 回调参数说明:
  14. event - 事件名称,字符串类型
  15. data  - 事件数据,JSON 对象,即事件回调参数
  16. **/
复制代码


removeListener 移除监听器
  1. //移除监听器,不会再收到回调通知
  2. //在需要时可重新调用 setListener
  3. jsBridge.trtc.removeListener();
复制代码


enterRoom 进入房间1 - 测试用户 A
• 需要开启文件读写、摄像头和麦克风隐私权限;
  1. //进入房间1 - 测试用户 A
  2. //进入房间,若房间不存在,系统将自动创建一个新房间。
  3. //详细说明 http://doc.qcloudtrtc.com/group__TRTCCloud__android.html#abfc1841af52e8f6a5f239a846a1e5d5c
  4. jsBridge.trtc.enterRoom({
  5.   param: {
  6.     //必须,数字类型,腾讯平台上创建的应用ID
  7.     sdkAppId: 1400361045,
  8.     //必须,字符串类型,用户ID
  9.     userId  : "user_A",
  10.     //必须,字符串类型,用户安全签名
  11.     //如何计算UserSig 请参考 https://cloud.tencent.com/document/product/647/17275#Server
  12.     userSig : "eJyrVgrxCdYrSy1SslIy0jNQ0gHzM1NS80oy0zLBwqXFqUXxjlCZ4pTsxIKCzBQlK0MTAwNjM0MDE1OITGpFQWZRqpKVsSFQzMDAACJakpkLFDM0tbAwsDAwNTCCmpKZDjTYNCkkM8jL09es0tc9z8jczCgrsjLKyS3JX7sk1dPb3cWyKqQ8IDcnKK0i3VapFgBHbDGE",
  13.     //必须,数字类型,房间号,进入同一个房间号的用户可以共同通话
  14.     roomId  : 1
  15.   },
  16.   //可选,其他设置
  17.   extra: {
  18.     //可选,字符串类型,房间名称(标题),默认为数字房间号,空字符串 "" 则不显示
  19.     title    : "这是房间名称",
  20.     //可选,布尔类型,是否横屏模式,默认 false(竖屏)
  21.     landscape: false,
  22.     //可选,布尔类型,是否录屏作为视频源,默认 false(使用摄像头),true 则录屏
  23.     captureScreen  : false,
  24.     //可选,数字类型,视频分辨率,默认 0(360x640),允许的值:
  25.     //0 分辨率360x640
  26.     //1 分辨率240x320
  27.     //2 分辨率540x960
  28.     //3 分辨率720x1280
  29.     videoResolution: 0,
  30.     //可选,布尔类型,是否使用16K音频采样率,默认 false(48K)
  31.     audio16KSampleRate: false,
  32.     //可选,数字类型,音量类型,默认 0(自动),允许的值:
  33.     //0 自动
  34.     //1 媒体
  35.     //2 通话
  36.     volumeType: 0,
  37.     //可选,布尔类型,是否拒收(不接收)视频,默认 false(接收视频)
  38.     rejectVideo  : false,
  39.     //可选,布尔类型,是否拒收(不接收)音频,默认 false(接收音频)
  40.     rejectAudio  : false
  41.   }
  42. }, function(succ, data) {
  43.   if (!succ) {
  44.     alert(JSON.stringify(data));
  45.   }
  46. });
复制代码


enterRoom 进入房间1 - 测试用户 B
  1. //进入房间1 - 测试用户 B
  2. jsBridge.trtc.enterRoom({
  3.   param: {
  4.     sdkAppId: 1400361045,
  5.     userId  : "user_B",
  6.     userSig : "eJwtzEsLgkAUhuH-ctYhZ7w1CC2aAjcukqJtlGfSk1jDjNqN-nuiLr-ng-cLh2zv9dpCAr6HsBg3k763fOWRO6ftSc2Po-psDBMkIkQMYoFhND36ZdhqSAIxGCJO2nIzmIikRInLMJ4rXA7ho1Id9lS3TUTZujB*ReknkJfyYd7b4nnbVanb5KSsy1fw*wNubjKq",
  7.     roomId  : 1
  8.   }
  9. }, function(succ, data) {
  10.   if (!succ) {
  11.     alert(JSON.stringify(data));
  12.   }
  13. });
复制代码



enterRoom 进入房间1 - 测试用户 C
  1. //进入房间1 - 测试用户 C
  2. jsBridge.trtc.enterRoom({
  3.   param: {
  4.     sdkAppId: 1400361045,
  5.     userId  : "user_C",
  6.     userSig : "eJyrVgrxCdYrSy1SslIy0jNQ0gHzM1NS80oy0zLBwqXFqUXxzlCZ4pTsxIKCzBQlK0MTAwNjM0MDE1OITGpFQWZRqpKVsSFQzMDAACJakpkLFDM0tbAwsDAwN7eEmpKZDjQ4Kzfd2SLKPEvbyz*qIjw9J9fT2Diz3EPb29KkxMk8L1I7yz-ItVQ-Lc001FapFgBTWTEi",
  7.     roomId  : 1
  8.   }
  9. }, function(succ, data) {
  10.   if (!succ) {
  11.     alert(JSON.stringify(data));
  12.   }
  13. });
复制代码


enterRoom 进入房间2 - 测试用户 A
  1. //进入房间2 - 测试用户 A
  2. jsBridge.trtc.enterRoom({
  3.   param: {
  4.     sdkAppId: 1400361045,
  5.     userId  : "user_B",
  6.     userSig : "eJyrVgrxCdYrSy1SslIy0jNQ0gHzM1NS80oy0zLBwqXFqUXxjlCZ4pTsxIKCzBQlK0MTAwNjM0MDE1OITGpFQWZRqpKVsSFQzMDAACJakpkLFDM0tbAwsDAwNTCCmpKZDjTYNCkkM8jL09es0tc9z8jczCgrsjLKyS3JX7sk1dPb3cWyKqQ8IDcnKK0i3VapFgBHbDGE",
  7.     roomId  : 123
  8.   }
  9. }, function(succ, data) {
  10.   if (!succ) {
  11.     alert(JSON.stringify(data));
  12.   }
  13. });
复制代码


enterRoom 进入房间2 - 测试用户 B
  1. //进入房间2 - 测试用户 B
  2. jsBridge.trtc.enterRoom({
  3.   param: {
  4.     sdkAppId: 1400361045,
  5.     userId  : "user_B",
  6.     userSig : "eJwtzEsLgkAUhuH-ctYhZ7w1CC2aAjcukqJtlGfSk1jDjNqN-nuiLr-ng-cLh2zv9dpCAr6HsBg3k763fOWRO6ftSc2Po-psDBMkIkQMYoFhND36ZdhqSAIxGCJO2nIzmIikRInLMJ4rXA7ho1Id9lS3TUTZujB*ReknkJfyYd7b4nnbVanb5KSsy1fw*wNubjKq",
  7.     roomId  : 123
  8.   }
  9. }, function(succ, data) {
  10.   if (!succ) {
  11.     alert(JSON.stringify(data));
  12.   }
  13. });
复制代码


enterRoom 进入房间2 - 测试用户 C
  1. //进入房间2 - 测试用户 C
  2. jsBridge.trtc.enterRoom({
  3.   param: {
  4.     sdkAppId: 1400361045,
  5.     userId  : "user_C",
  6.     userSig : "eJyrVgrxCdYrSy1SslIy0jNQ0gHzM1NS80oy0zLBwqXFqUXxzlCZ4pTsxIKCzBQlK0MTAwNjM0MDE1OITGpFQWZRqpKVsSFQzMDAACJakpkLFDM0tbAwsDAwN7eEmpKZDjQ4Kzfd2SLKPEvbyz*qIjw9J9fT2Diz3EPb29KkxMk8L1I7yz-ItVQ-Lc001FapFgBTWTEi",
  7.     roomId  : 123
  8.   }
  9. }, function(succ, data) {
  10.   if (!succ) {
  11.     alert(JSON.stringify(data));
  12.   }
  13. });
复制代码


enterRoom 进入房间2 - 测试用户 C:横屏模式
  1. //横屏模式
  2. jsBridge.trtc.enterRoom({
  3.   param: {
  4.     sdkAppId: 1400361045,
  5.     userId  : "user_C",
  6.     userSig : "eJyrVgrxCdYrSy1SslIy0jNQ0gHzM1NS80oy0zLBwqXFqUXxzlCZ4pTsxIKCzBQlK0MTAwNjM0MDE1OITGpFQWZRqpKVsSFQzMDAACJakpkLFDM0tbAwsDAwN7eEmpKZDjQ4Kzfd2SLKPEvbyz*qIjw9J9fT2Diz3EPb29KkxMk8L1I7yz-ItVQ-Lc001FapFgBTWTEi",
  7.     roomId  : 123
  8.   },
  9.   extra: {
  10.     landscape: true
  11.   }
  12. }, function(succ, data) {
  13.   if (!succ) {
  14.     alert(JSON.stringify(data));
  15.   }
  16. });
复制代码


enterRoom 进入房间2 - 测试用户 C:录屏
  1. //录屏
  2. jsBridge.trtc.enterRoom({
  3.   param: {
  4.     sdkAppId: 1400361045,
  5.     userId  : "user_C",
  6.     userSig : "eJyrVgrxCdYrSy1SslIy0jNQ0gHzM1NS80oy0zLBwqXFqUXxzlCZ4pTsxIKCzBQlK0MTAwNjM0MDE1OITGpFQWZRqpKVsSFQzMDAACJakpkLFDM0tbAwsDAwN7eEmpKZDjQ4Kzfd2SLKPEvbyz*qIjw9J9fT2Diz3EPb29KkxMk8L1I7yz-ItVQ-Lc001FapFgBTWTEi",
  7.     roomId  : 123
  8.   },
  9.   extra: {
  10.     captureScreen: true
  11.   }
  12. }, function(succ, data) {
  13.   if (!succ) {
  14.     alert(JSON.stringify(data));
  15.   }
  16. });
复制代码


exitRoom 离开房间
  1. //离开房间
  2. //详细说明 http://doc.qcloudtrtc.com/group__TRTCCloud__android.html#a41d16a97a9cb8f16ef92f5ef5bfebee1
  3. jsBridge.trtc.exitRoom(function(succ, data) {
  4.   if (!succ) {
  5.     alert(JSON.stringify(data));
  6.   }
  7. });
复制代码


startSpeedTest 开始进行网络测速
  1. //开始进行网络测速
  2. //请先调用 setListener 接口,在回调参数 data.event == "onSpeedTest" 中获取测试结果;
  3. //详细说明 http://doc.qcloudtrtc.com/group__TRTCCloud__android.html#a0dbceb18d61d99ca33e967427dd0a344
  4. jsBridge.trtc.startSpeedTest({
  5.   sdkAppId: 1400361045,
  6.   userId  : "user_A",
  7.   userSig : "eJyrVgrxCdYrSy1SslIy0jNQ0gHzM1NS80oy0zLBwqXFqUXxjlCZ4pTsxIKCzBQlK0MTAwNjM0MDE1OITGpFQWZRqpKVsSFQzMDAACJakpkLFDM0tbAwsDAwNTCCmpKZDjTYNCkkM8jL09es0tc9z8jczCgrsjLKyS3JX7sk1dPb3cWyKqQ8IDcnKK0i3VapFgBHbDGE",
  8. }, function(succ, data) {
  9.   if (succ) {
  10.     alert("已开始");
  11.   } else {
  12.     alert(JSON.stringify(data));
  13.   }
  14. });
复制代码


stopSpeedTest 停止服务器测速
  1. //停止服务器测速
  2. //详细说明 http://doc.qcloudtrtc.com/group__TRTCCloud__android.html#a3e862cef0e818ddecdc3dc4d66a6f8f9
  3. jsBridge.trtc.stopSpeedTest(function(succ, data) {
  4.   if (succ) {
  5.     alert("已停止");
  6.   } else {
  7.     alert(JSON.stringify(data));
  8.   }
  9. });
复制代码


getSDKVersion 获取 SDK 版本信息
  1. //获取 SDK 版本信息
  2. jsBridge.trtc.getSDKVersion(function(succ, data) {
  3.   alert(JSON.stringify(data));
  4. });
复制代码






欢迎光临 一门APP开发教程 (https://bbs.yimenapp.com/) Powered by Discuz! X3.4