自动推拉流功能

ARTC SDK提供了自动推拉流功能,该功能默认开启。通过自动推拉流功能,客户的App只需要调用入会、离会、角色切换接口即可实现推拉音视频的功能。本文介绍自动推拉流功能的实现原理和示例代码。

实现原理

说明
  • 纯音频场景下,仅支持推拉音频流。

  • 音视频场景下,推拉设置的所有音视频流。

image.png

示例代码

关闭自动推拉流API

ARTC SDK提供关闭自动推拉流功能,客户App可以根据业务需求分别控制关闭自动推音视频流、关闭自动拉音视频流的功能。

关闭自动音视频推流功能

  • Android示例代码:

    /* 参数为false是关闭,入会后不会推视频流,需要app主动调用此接口来实现推视频流 */
    /* 参数为true,入会后会立刻推视频流;默认值就是true */
    mAliRtcEngine.publishLocalVideoStream(false);
    /* 参数为false是关闭,入会后不会推音频流,需要app主动调用此接口来实现推视频流 */
    /* 参数为true,入会后会立刻推视频流;默认值就是true */
    mAliRtcEngine.publishLocalAudioStream(false);
  • iOS示例代码:

    /* 参数为NO是关闭,入会后不会推视频流,需要app主动调用此接口来实现推视频流 */
    /* 参数为YES,入会后会立刻推视频流;默认值就是YES */
    [self.engine publishLocalVideoStream:NO];
    /* 参数为NO是关闭,入会后不会推音频流,需要app主动调用此接口来实现推视频流 */
    /* 参数为YES,入会后会立刻推视频流;默认值就是YES */
    [self.engine publishLocalAudioStream:NO];
  • Windows示例代码

    /* 参数为false是关闭,入会后不会推视频流,需要app主动调用此接口来实现推视频流 */
    /* 参数为true,入会后会立刻推视频流;默认值就是true */
    mAliRtcEngine->PublishLocalVideoStream(false);
    /* 参数为false是关闭,入会后不会推音频流,需要app主动调用此接口来实现推视频流 */
    /* 参数为true,入会后会立刻推视频流;默认值就是true */
    mAliRtcEngine->PublishLocalAudioStream(false);

关闭自动音视频拉流功能

  • Android示例代码:

    /* 参数为false是关闭,入会后不会订阅视频流,需要app主动调用subscribeRemoteMediaStream或subscribeRemoteVideoStream订阅视频流 */
    /* 参数为true,入会后会立刻订阅视频流;默认值就是true */
    mAliRtcEngine.setDefaultSubscribeAllRemoteVideoStreams(false);
    /* 参数为false是关闭,入会后不会订阅音频流,需要app主动调用subscribeRemoteMediaStream或subscribeRemoteAudioStream订阅音频流 */
    /* 参数为true,入会后会立刻订阅视频流;默认值就是true */
    mAliRtcEngine.setDefaultSubscribeAllRemoteAudioStreams(false);
  • iOS示例代码:

    /* 参数为NO是关闭,入会后不会推视频流,需要app主动调用subscribeRemoteMediaStream或subscribeRemoteVideoStream订阅视频流 */
    /* 参数为YES,入会后会立刻推视频流;默认值就是YES */
    [self.engine setDefaultSubscribeAllRemoteVideoStreams:NO];
    /* 参数为NO是关闭,入会后不会推音频流,需要app主动调用subscribeRemoteMediaStream或subscribeRemoteAudioStream订阅音频流 */
    /* 参数为YES,入会后会立刻推视频流;默认值就是YES */
    [self.engine setDefaultSubscribeAllRemoteAudioStreams:NO];
  • Windows示例代码

    /* 参数为false是关闭,入会后不会订阅视频流,需要app主动调用SubscribeRemoteMediaStream或SubscribeRemoteVideoStream订阅视频流 */
    /* 参数为true,入会后会立刻订阅视频流;默认值就是true */
    mAliRtcEngine.SetDefaultSubscribeAllRemoteVideoStreams(false);
    /* 参数为false是关闭,入会后不会订阅音频流,需要app主动调用SubscribeRemoteMediaStream或SubscribeRemoteAudioStream订阅音频流 */
    /* 参数为true,入会后会立刻订阅视频流;默认值就是true */
    mAliRtcEngine.SetDefaultSubscribeAllRemoteAudioStreams(false);