如何使语音社交app源码实现腾讯实时音视频数据回调

发布来源:云豹科技
发布人:云豹科技
2021-08-02 10:22:00

在云豹语音社交app源码项目中,关于群聊派对和1V1语音连麦部分,用腾讯实时音视频来实现,当出现聊天过程中出现的断网或者闪退等异常情况,也需要PHP服务端调用腾讯云接口,通过返回的数据来进行下一步操作,下面就语音社交app源码php后台请求腾讯接口的实现方法做简单介绍。

 

一、 当前用户是否断网或者重连等异常情况

首先查看,当前用户是否断网或者重连等异常情况——访问腾讯云提供的接口:实时音视频中的:查询详细事件(DescribeDetailEventRequest)

1、接口描述:

接口请求域名: trtc.tencentcloudapi.com

查询用户某次通话内的进退房,视频开关等详细事件。可查询14天内数据。

默认接口请求频率限制:20次/秒。

2、请求参数如下:

参数名称

必选

类型

描述

Action

String

公共参数,本接口取值:DescribeDetailEvent。

Version

String

公共参数,本接口取值:2019-07-22。

Region

String

公共参数,所属地域: 华北地区(北京):ap-beijing

华南地区(广州) ap-guangzhou

CommId

String

通话 ID(唯一标识一次通话)

通过 DescribeRoomInformation(查询房间列表)接口获取

StartTime

Integer

查询开始时间,14天内。本地unix时间戳(1588031999s)

EndTime

Integer

查询结束时间,本地unix时间戳(1588031999s)

UserId

String

用户id

RoomId

String

房间号

3、输出数据:

A) 、数据字段说明:

Type://视频流类型:0:与视频无关的事件;2:视频为大画面;3:视频为小画面;7:视频为旁路画面;

Eventid://事件ID,这里要注意,根据这个数据结合下边的paramone、paramtwo来判断当前音视频是否正常

Time://返回事件上报的时间戳

parameOne:事件的第一个参数

parameTwo:事件的第二个参数

B)、返回数据格式如下:

{
  "Response": {
    "Data": [
      {
        "Content": [
          {
            "Type": 0,            
"Time": 1589975272790,
            "EventId": 32793,
            "ParamOne": -1,
            "ParamTwo": -1
          }
        ],
        "PeerId": "hyder11"
      }
],
//唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId
    "RequestId": "093bffd3-9d27-45ca-8410-c61c0e4cdcb8"  }
}


注意:

1)、Eventid返回的事件ID更多介绍访问如下:

https://cloud.tencent.com/document/product/647/44916返回数据的错误码,详细查看腾讯云2)、公共错误码,链接如下:

https://cloud.tencent.com/document/api/647/37084#.E5.85.AC.E5.85.B1.E9.94.99.E8.AF.AF.E7.A0.81

二、部分语音社交app源码如下:

1、composer引用腾讯云sdk后,引入autoload.php文件

$path= CMF_ROOT.'sdk/tencentIm/vendor/autoload.php';
require_once($path);



2、使用如下文件

use TencentCloud\Common\Credential;
use TencentCloud\Common\Profile\ClientProfile;
use TencentCloud\Common\Profile\HttpProfile;
use TencentCloud\Common\Exception\TencentCloudSDKException;
use TencentCloud\Trtc\V20190722\TrtcClient;
use TencentCloud\Trtc\V20190722\Models\DescribeRoomInformationRequest;
use TencentCloud\Trtc\V20190722\Models\DescribeDetailEventRequest;



3、实现语音社交app源码:

$cred = new Credential("腾讯云秘钥id", "腾讯云秘钥key");
$httpProfile = new HttpProfile();
$httpProfile->setEndpoint("trtc.tencentcloudapi.com");
...........省略代码
$req->fromJsonString(json_encode(请求参数));
...........省略代码
$contentlist= $last_onlarr[0]['Content'];//返回数据中content列表
foreach($contentlist as $kc=>$vc){
$vc_arr=$this->newjson($vc); 
if($vc_arr['EventId']=='7001' ){//退出房间
$isclose=1;
break;
}else if($vc_arr['EventId']=='5008'){//退出房间成功
if($vc_arr['ParamOne']=='1' && $vc_arr['ParamTwo']=='-1'){
$isclose=1;
break;
}
}else if($vc_arr['EventId']=='5003'){//5003表示ParamOne:0 ParamTwo:-1 进入房间失败
if($vc_arr['ParamOne']=='0' && $vc_arr['ParamTwo']=='-1'){
$isclose=1;
break;
}
}
}


 其中$isclose如果为1,则说明实时音视频异常,可根据需求处理,以上便是语音社交app源码PHP端查询实时音视频使用过程出现的异常信息的操作方法。

 声明:以上内容为云豹科技作者本人原创,未经作者本人同意,禁止转载,否则将追究相关法律责任www.yunbaokj.com

声明:
以上内容为云豹科技作者本人原创,未经作者本人同意,禁止转载,否则将追究相关法律责任