所有文档

          实时音视频 RTC

          集成SDK

          准备环境

          • Xcode 9.0 或以上版本
          • 支持 macOS 10.10 或以上版本的 macOS 设备

          下载SDK

          进入RTC文档中心,点击“下载专区>客户端SDK下载”,即可下载macOS客户端。

          集成SDK

          创建一个macOS项目,若已有 macOS 项目,可以直接集成 SDK

          添加 SDK 静态库文件

          1. 将文件夹内的 BaiduRtcRoom.framework 文件复制到项目文件夹下
          2. 打开 Xcode,使用 Add Files to "xxx"(xxx 为用户的项目名),添加 SDK 静态库文件到项目。 image.png

          导入SDK

          注意,在下面的设置步骤中,请选择符合开发要求的 framework 文件。

          1. 打开 Xcode,选择:项目 TARGET -> General -> Link Binary With Libraries,添加 BaiduRtcRoom.framework。Status 设置为 Requied。 image_add_framework.png

          项目设置

          1. 打开 Xcode,选择:项目 TARGET -> General -> Deployment Target,设置 10.10 或以上版本。 development_target.png
          1. 继续在 Xcode 中,选择:项目 TARGET -> Build Settings -> Build Options -> Setting,设置要编译的项目 TARGET。 build_setting.png

          添加系统依赖库

          集成 SDK 静态库,需要额外添加如下依赖库:

          Linked_FRAMEWORK.png

          实现音视频通话

          本节介绍如何实现音视频通话。视频通话的 API 调用时序见下图:

          iOS_diagram.png

          代码示例

          1.在您的开发项目中导入头文件

              #import <BaiduRtcRoom/RTCNSGLVideoView.h>
              #import <BaiduRtcRoom/RTCVideoRenderer.h>
              #import <BaiduRtcRoom/RTCMTLNSVideoView.h>
              #import <BaiduRtcRoom/BaiduRtcRoom.h>  

          2.定义 rtc room hanlde 变量

              @property (nonatomic, strong) BaiduRtcRoomApi *rtcRoomApi;

          3.初始化 sdk, 返回 rtc room handle, 初始化的时候要带上 appid,token 串,和 delegate

              _rtcRoomApi = [[BaiduRtcRoomApi alloc] initSDKWithAppID:_appId
                                                             tokenStr:_tokenStr
                                                             delegate:nil];

          4.音视频参数设置:

              RtcParameterSettings *rps = [[RtcParameterSettings alloc] init];
              rps.videoFps = 29;
              rps.videoWidth = 192;
              rps.videoHeight = 144;
              rps.videoBitrate = 300;
              //使用外部采集。若 enable 外部采集,需实现 BaiduVideoCaptureFactory 和 BaiduVideoCaptureDevice 两种 protocol;其中 BaiduVideoCaptureFactory delegate 需要通过 setVideoCaptureFactory 设置给 SDK.
              rps.isEnableExternalCapturer = YES;
              //使用外部渲染,外部渲染远端视频画面。若 enable 外部渲染,需实现 BaiduRtcApiRenderDelegate protocol, 并通过 setRenderDelegate 设置给 SDK.
              rps.isEnableExternalRender = YES;
              //使用声音录制, 连麦时混合后的声音抛给用户处理。若 enable 本地采集和远端声音混功能,需实现 BaiduRtcApiAudioRecordDelegate protocol, 并通过 setAudioRecordDelegate 设置给 SDK
              [_rtcRoomApi setParamSettings:rps paramType:RTC_PARAM_SETTINGS_ALL];
          1. 视频显示 view 设置
              [_rtcRoomApi setLocalDisplay:mainView.localVideoView];
              [_rtcRoomApi setRemoteDisplay:mainView.remoteVideoView];
          1. 登录房间
              [_rtcRoomApi loginRtcRoomWithRoomName:roomId
                                             userID:_userId
                                        displayName:@"sj_mac"];
          1. 发布流
              [_rtcRoomApi publishStreaming];                        
          1. 登出房间,结束音视频通话
              [_rtcRoomApi logoutRtcRoom];       
          上一篇
          概述
          下一篇
          API