通过阅读本文,您可以了解到屏幕分享的使用方法。

推流端

  1. 启动屏幕分享。
    // 配置屏幕分享推流
    int ret = [self.engine startScreenShareWithDesktopId: int:desktopId AliRtcScreenShareConfig * _Nonnull:config];
    .....
  2. 推流后通过回调判断屏幕共享是否发布成功。
    void onScreenSharePublishStateChanged(AliRtcEngine.AliRtcPublishState oldState ,
                                                 AliRtcEngine.AliRtcPublishState newState,
                                                 int elapseSinceLastState, String channel);
    参数类型描述
    oldStateAliRtcPublishState之前的推流状态。
    newStateAliRtcPublishState当前的推流状态。
    elapseSinceLastStateint状态变更时间间隔。单位:毫秒。
    channelString当前频道ID。
  3. 停止屏幕分享。
    // 配置屏幕分享停止
    int ret = [self.engine stopScreenShare:NO];
  4. 停止屏幕共享后通过回调判断屏幕共享是否取消发布成功。
    void onScreenSharePublishStateChanged(AliRtcEngine.AliRtcPublishState oldState ,
                                                 AliRtcEngine.AliRtcPublishState newState,
                                                 int elapseSinceLastState, String channel);
    参数类型描述
    oldStateAliRtcPublishState之前的推流状态。
    newStateAliRtcPublishState当前的推流状态。
    elapseSinceLastStateint状态变更时间间隔。单位:毫秒。
    channelString当前频道ID。

订阅端

订阅端用户可通过自动或手动方式订阅推流端屏幕分享视频流,并设置对应View显示,详情请参见AliRtcEngine接口