前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >实时音视频V2版本,如何进行纯音频旁路直播

实时音视频V2版本,如何进行纯音频旁路直播

原创
作者头像
腾讯云-chaoli
修改2019-09-27 14:23:23
3.3K0
修改2019-09-27 14:23:23
举报

简介

实时音视频TRTCSDK适用的业务场景是视频会议、坐席通话、在线教育等,也可以实现类似微信的语音通话、语音会议功能,

官网开发文档已经给出了音视频通话的调用示例,本专栏的《实现类似微信的纯语音通话》也提供了纯音频通话示例。接下来就是本文重点:怎么把通话的纯音频流,从实时音视频后台,旁推到直播后台,提供海量用户使用CDN地址播放收听??

实现

把音视频数据流旁推到直播后台,直播后台接收流的依据是以画面数据为准的,纯音频流里面没有画面数据,这就需要额外的信令通道来提醒直播后台:“这条是音频流,麻烦接收一下”。下面我们就来看,如何通过TRTCSDK的终端接口,实现传信令的功能。

Android:

1.构造音频推流参数

音频推流参数需要填充到TRTCParams.businessInfo字段中,因为音频推流参数是一个 JSON 字符串,所以需要构造一个JSON数据。

代码语言:javascript
复制
JSONObject Str_uc_params = new JSONObject();
JSONObject pure_audio_push_mod = new JSONObject();

try {
    pure_audio_push_mod.put("pure_audio_push_mod", 1); 
    // 1: 允许纯音频推流,2: 允许纯音频推流+录制
    Str_uc_params.put("Str_uc_params", pure_audio_push_mod);
    Log.i(TAG, "纯音频推流参数: " + Str_uc_params.toString());
} catch (JSONException e) {
    e.printStackTrace();
}

iOS、Windows、Mac、Linux端也是适用,小程序端看文档进阶:小程序实时音视频参数透传

2.设置频推流参数

然后赋值给 TRTCParams.businessInfo

代码语言:javascript
复制
private TRTCCloudDef.TRTCParams trtcParams;     
// TRTC SDK 视频通话房间进入所必须的参数
Intent intent       = getIntent();
int sdkAppId        = intent.getIntExtra("sdkAppId", 0);
int roomId          = intent.getIntExtra("roomId", 0);
String selfUserId   = intent.getStringExtra("userId");
String userSig      = intent.getStringExtra("userSig");

trtcParams = new TRTCCloudDef.TRTCParams(sdkAppId, selfUserId, userSig, roomId, "", 
Str_uc_params.toString());

3. 进入房间

代码语言:javascript
复制
trtcCloud.startLocalAudio();
//进房
trtcCloud.enterRoom(trtcParams, TRTCCloudDef.TRTC_APP_SCENE_VIDEOCALL);

iOS:

代码语言:javascript
复制
// 设置纯音频旁路参数
self.param.bussInfo = @"{\"Str_uc_params\":{\"pure_audio_push_mod\":1}}";
// 进房
[_trtc enterRoom:self.param appScene:TRTCAppSceneVideoCall];

注意:传给SDK的json字符串参数注意大小写一致,参数名错误会导致进房失败。

补充:

纯音频推流参数完整说明:

代码语言:javascript
复制
{
  "Str_uc_params": {
    "record_id": 43567,   //可选字段,自动录制时业务自定义id,int32,录制回调时给到用户.注意:同一个房间中的成员,这个字段要么全带,要么不带.且值需要一致
    "pure_audio_push_mod": 1,  //可选字段,纯音频推流模式。 1表示旁路推流;2表示旁路推流+录制
    "recordfile_storage_time": 10000   //录制文件保存时长,单位秒
  }
}

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 实现
    • Android:
      • iOS:
      • 补充:
      相关产品与服务
      云直播
      云直播(Cloud Streaming Services,CSS)为您提供极速、稳定、专业的云端直播处理服务,根据业务的不同直播场景需求,云直播提供了标准直播、快直播、云导播台三种服务,分别针对大规模实时观看、超低延时直播、便捷云端导播的场景,配合腾讯云视立方·直播 SDK,为您提供一站式的音视频直播解决方案。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档