好商城App 快捷打包
腾讯 TRTC实时音视频
♦ JS-SDK,下载最新版 jsBridge-v20200917.zip,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库。
♦ 腾讯云官方参考资料:
♦ 产品文档
♦ 服务器端API
♦ 客户端API
事件监听
• 如需接口调用事件,请设置此监听器;
//所有事件请参考 TRTCCloudListener //详细说明 https://doc.qcloudtrtc.com/group__TRTCCloud__android.html#a22fe2f31f2ef62fb3c6cba083dc6c016 //所有事件 https://doc.qcloudtrtc.com/group__TRTCCloudListener__android.html#classcom_1_1tencent_1_1trtc_1_1TRTCCloudListener jsBridge.trtc.setListener(function(event, data) { show({ event: event, data : data }); }); //请拉到页面底部查看回调数据信息 $('html,body').animate({ scrollTop: $('#view').offset().top }, 500); /** 回调参数说明: event - 事件名称,字符串类型 data - 事件数据,JSON 对象,即事件回调参数 **/
//移除监听器,不会再收到回调通知 //在需要时可重新调用 setListener jsBridge.trtc.removeListener();
房间接口
• 需要开启文件读写、摄像头和麦克风隐私权限;
//进入房间1 - 测试用户 A //进入房间,若房间不存在,系统将自动创建一个新房间。 //详细说明 https://doc.qcloudtrtc.com/group__TRTCCloud__android.html#abfc1841af52e8f6a5f239a846a1e5d5c jsBridge.trtc.enterRoom({ param: { //必须,数字类型,腾讯平台上创建的应用ID sdkAppId: 1400361045, //必须,字符串类型,用户ID userId : "user_A", //必须,字符串类型,用户安全签名 //如何计算UserSig 请参考 https://cloud.tencent.com/document/product/647/17275#Server userSig : "eJyrVgrxCdYrSy1SslIy0jNQ0gHzM1NS80oy0zLBwqXFqUXxjlCZ4pTsxIKCzBQlK0MTAwNjM0MDE1OITGpFQWZRqpKVsSFQzMDAACJakpkLFDM0tbAwsDAwNTCCmpKZDjTYNCkkM8jL09es0tc9z8jczCgrsjLKyS3JX7sk1dPb3cWyKqQ8IDcnKK0i3VapFgBHbDGE", //必须,数字类型,房间号,进入同一个房间号的用户可以共同通话 roomId : 1 }, //可选,其他设置 extra: { //可选,字符串类型,房间名称(标题),默认为数字房间号,空字符串 "" 则不显示 title : "这是房间名称", //可选,布尔类型,是否横屏模式,默认 false(竖屏)(仅支持摄像头,录屏时始终为竖屏) landscape: false, //可选,布尔类型,是否录屏作为视频源,默认 false(使用摄像头),true 则录屏 captureScreen : false, //可选,数字类型,视频分辨率,默认 0(360x640),允许的值: //0 分辨率360x640 //1 分辨率240x320 //2 分辨率540x960 //3 分辨率720x1280 videoResolution: 0, //可选,布尔类型,是否使用16K音频采样率,默认 false(48K) audio16KSampleRate: false, //可选,数字类型,音量类型,默认 0(自动),允许的值: //0 自动 //1 媒体 //2 通话 volumeType: 0, //可选,布尔类型,是否拒收(不接收)视频,默认 false(接收视频) rejectVideo : false, //可选,布尔类型,是否拒收(不接收)音频,默认 false(接收音频) rejectAudio : false } }, function(succ, data) { if (!succ) { alert(JSON.stringify(data)); } });
//进入房间1 - 测试用户 B jsBridge.trtc.enterRoom({ param: { sdkAppId: 1400361045, userId : "user_B", userSig : "eJwtzEsLgkAUhuH-ctYhZ7w1CC2aAjcukqJtlGfSk1jDjNqN-nuiLr-ng-cLh2zv9dpCAr6HsBg3k763fOWRO6ftSc2Po-psDBMkIkQMYoFhND36ZdhqSAIxGCJO2nIzmIikRInLMJ4rXA7ho1Id9lS3TUTZujB*ReknkJfyYd7b4nnbVanb5KSsy1fw*wNubjKq", roomId : 1 } }, function(succ, data) { if (!succ) { alert(JSON.stringify(data)); } });
//进入房间1 - 测试用户 C jsBridge.trtc.enterRoom({ param: { sdkAppId: 1400361045, userId : "user_C", userSig : "eJyrVgrxCdYrSy1SslIy0jNQ0gHzM1NS80oy0zLBwqXFqUXxzlCZ4pTsxIKCzBQlK0MTAwNjM0MDE1OITGpFQWZRqpKVsSFQzMDAACJakpkLFDM0tbAwsDAwN7eEmpKZDjQ4Kzfd2SLKPEvbyz*qIjw9J9fT2Diz3EPb29KkxMk8L1I7yz-ItVQ-Lc001FapFgBTWTEi", roomId : 1 } }, function(succ, data) { if (!succ) { alert(JSON.stringify(data)); } });
//进入房间2 - 测试用户 A jsBridge.trtc.enterRoom({ param: { sdkAppId: 1400361045, userId : "user_B", userSig : "eJyrVgrxCdYrSy1SslIy0jNQ0gHzM1NS80oy0zLBwqXFqUXxjlCZ4pTsxIKCzBQlK0MTAwNjM0MDE1OITGpFQWZRqpKVsSFQzMDAACJakpkLFDM0tbAwsDAwNTCCmpKZDjTYNCkkM8jL09es0tc9z8jczCgrsjLKyS3JX7sk1dPb3cWyKqQ8IDcnKK0i3VapFgBHbDGE", roomId : 123 } }, function(succ, data) { if (!succ) { alert(JSON.stringify(data)); } });
//进入房间2 - 测试用户 B jsBridge.trtc.enterRoom({ param: { sdkAppId: 1400361045, userId : "user_B", userSig : "eJwtzEsLgkAUhuH-ctYhZ7w1CC2aAjcukqJtlGfSk1jDjNqN-nuiLr-ng-cLh2zv9dpCAr6HsBg3k763fOWRO6ftSc2Po-psDBMkIkQMYoFhND36ZdhqSAIxGCJO2nIzmIikRInLMJ4rXA7ho1Id9lS3TUTZujB*ReknkJfyYd7b4nnbVanb5KSsy1fw*wNubjKq", roomId : 123 } }, function(succ, data) { if (!succ) { alert(JSON.stringify(data)); } });
//进入房间2 - 测试用户 C jsBridge.trtc.enterRoom({ param: { sdkAppId: 1400361045, userId : "user_C", userSig : "eJyrVgrxCdYrSy1SslIy0jNQ0gHzM1NS80oy0zLBwqXFqUXxzlCZ4pTsxIKCzBQlK0MTAwNjM0MDE1OITGpFQWZRqpKVsSFQzMDAACJakpkLFDM0tbAwsDAwN7eEmpKZDjQ4Kzfd2SLKPEvbyz*qIjw9J9fT2Diz3EPb29KkxMk8L1I7yz-ItVQ-Lc001FapFgBTWTEi", roomId : 123 } }, function(succ, data) { if (!succ) { alert(JSON.stringify(data)); } });
//横屏模式 jsBridge.trtc.enterRoom({ param: { sdkAppId: 1400361045, userId : "user_C", userSig : "eJyrVgrxCdYrSy1SslIy0jNQ0gHzM1NS80oy0zLBwqXFqUXxzlCZ4pTsxIKCzBQlK0MTAwNjM0MDE1OITGpFQWZRqpKVsSFQzMDAACJakpkLFDM0tbAwsDAwN7eEmpKZDjQ4Kzfd2SLKPEvbyz*qIjw9J9fT2Diz3EPb29KkxMk8L1I7yz-ItVQ-Lc001FapFgBTWTEi", roomId : 123 }, extra: { landscape: true } }, function(succ, data) { if (!succ) { alert(JSON.stringify(data)); } });
//录屏 jsBridge.trtc.enterRoom({ param: { sdkAppId: 1400361045, userId : "user_C", userSig : "eJyrVgrxCdYrSy1SslIy0jNQ0gHzM1NS80oy0zLBwqXFqUXxzlCZ4pTsxIKCzBQlK0MTAwNjM0MDE1OITGpFQWZRqpKVsSFQzMDAACJakpkLFDM0tbAwsDAwN7eEmpKZDjQ4Kzfd2SLKPEvbyz*qIjw9J9fT2Diz3EPb29KkxMk8L1I7yz-ItVQ-Lc001FapFgBTWTEi", roomId : 123 }, extra: { captureScreen : true, videoResolution: 3 } }, function(succ, data) { if (!succ) { alert(JSON.stringify(data)); } });
//离开房间 //详细说明 https://doc.qcloudtrtc.com/group__TRTCCloud__android.html#a41d16a97a9cb8f16ef92f5ef5bfebee1 jsBridge.trtc.exitRoom(function(succ, data) { if (!succ) { alert(JSON.stringify(data)); } });
网络测试
//开始进行网络测速 //请先调用 setListener 接口,在回调参数 data.event == "onSpeedTest" 中获取测试结果; //详细说明 https://doc.qcloudtrtc.com/group__TRTCCloud__android.html#a0dbceb18d61d99ca33e967427dd0a344 jsBridge.trtc.startSpeedTest({ sdkAppId: 1400361045, userId : "user_A", userSig : "eJyrVgrxCdYrSy1SslIy0jNQ0gHzM1NS80oy0zLBwqXFqUXxjlCZ4pTsxIKCzBQlK0MTAwNjM0MDE1OITGpFQWZRqpKVsSFQzMDAACJakpkLFDM0tbAwsDAwNTCCmpKZDjTYNCkkM8jL09es0tc9z8jczCgrsjLKyS3JX7sk1dPb3cWyKqQ8IDcnKK0i3VapFgBHbDGE", }, function(succ, data) { if (succ) { alert("已开始"); } else { alert(JSON.stringify(data)); } });
//停止服务器测速 //详细说明 https://doc.qcloudtrtc.com/group__TRTCCloud__android.html#a3e862cef0e818ddecdc3dc4d66a6f8f9 jsBridge.trtc.stopSpeedTest(function(succ, data) { if (succ) { alert("已停止"); } else { alert(JSON.stringify(data)); } });
其他
//获取 SDK 版本信息 jsBridge.trtc.getSDKVersion(function(succ, data) { alert(JSON.stringify(data)); });
监听回调数据: