资讯专栏INFORMATION COLUMN

5分钟快速集成UCloud实时音视频服务URTC-MacOS端

Tecode / 1886人阅读

摘要:通过集成,可以从零开始,快速搭建出实时音视频通信平台,可以应用于语音和视频社交在线教育和培训远程医疗在线会议直播等多种业务场景。使用服务之前,首先需要注册账号并且完成实名认证。确定后,自动生成。初始化建议在初始化的同时,初始化。

通过集成URTC SDK,可以从零开始,快速搭建出实时音视频通信平台,可以应用于语音和视频社交、在线教育和培训、远程医疗、在线会议、直播等多种业务场景。

集成URTC SDK之前,需要在UCLOUD官网控制台创建URTC应用。

1. 登录UCLOUD控制台

在UCLOUD官网,【登录控制台】

使用URTC服务之前,首先需要注册账号 并且完成 实名认证

2.创建URTC应用

每个账号最大支持创建5个URTC应用,需要创建更多URTC应用,请联系客户经理增加配额。

可以通过2种方法:控制台、API创建URTC应用。

2.1 控制台创建URTC应用

  • 在控制台,【全部产品】-【视频服务】-【实时音视频】,找到【我的应用】

  • 点击创建应用,输入应用名称,确定后保存。

  • 确定后,自动生成AppID、AppKey。

  • 绑定AppID及AppKey到您的应用中即可开始使用。

2.2 API创建URTC应用

通过 创建URTC 应用的API,也可以创建URTC应用。具体调用API的方法,请查看API文档

3. 下载资源

4. 开发语言以及系统要求

  • 系统版本:macOS 10.0;

5. 开发环境

  • Xcode 9.0及以上版本;
  • Apple开发证书或个人账号;

6. 搭建开发环境

6.1 得到动态库

下载SDK,得到的UCloudRtcSdk_mac.framework为动态库;

6.2 创建新的工程

使用XCode创建一个新的工程UCloudRtcSdk-mac-demo;

6.3 加入动态库到工程中

将已下载的动态库UCloudRtcSdk_mac.framework加入到UCloudRtcSdk-mac-demo工程中Embedded Binaries;

6.4 打开Xcode

将TARGETS>GENERAL>Deployment Target 设置为10.10及以上;

6.5 编辑info.plist,申请摄像头、麦克风权限

Privacy - Camera Usage Description
Privacy - Microphone Usage Description

6.6 打开网络请求相关权限

6.7 集成成功

按照上述步骤完成UCloudRtcSdk-mac-demo的前期SDK集成准备之后,执行编译
Commond + B,提示Build Success,表示SDK集成成功。

7. 初始化

建议在初始化 App 的同时,初始化 SDK。

7.1 导入 SDK 头文件

7.2 设置 userId 和 roomId,获取AppID

UCloudRtcEngine *engine = [[UCloudRtcEngine alloc]
initWithUserId:userId appId:appId roomId:roomId token:@""]];

务必要设置代理对象,并实现代理回调方法,设置代理对象失败,会导致 App 收不到相关回调。

engine.delegate = self;

7.3 调用接口初始化

使用之前需要对SDK进行相关设置,如果不设置,系统将会采用默认值。

self.engineMode = UCloudRtcEngineModeTrival; 默认为测试模式
self.engine.isAutoPublish = YES;//加入房间后将自动发布本地音视频 默认为YES
self.engine.isAutoSubscribe = YES;//加入房间后将自动订阅远端音视频 默认为YES
self.engine.isDesktop = NO;//发布桌面或者摄像头 默认为NO:摄像头 YES:桌面

8. 实现音视频通话

8.1 加入房间

[self.engine joinRoomWithcompletionHandler:^(NSData *data, NSUrlResponse *response, NSError error) {
}];

8.2 发布本地流

1)自动发布模式下,joinRoom成功后,随即发布本地流;

2)发布过程中可以监听以下事件获取发布状态,根据状态调用渲染或其他接口即可。

- (void)uCloudRtcEngine:(UCloudRtcEngine *)manager didChangePublishState:(UCloudRtcEnginePublishState)publishState {
    switch (publishState) {
        case UCloudRtcEnginePublishStateUnPublish:
            self.isConnected = NO;
            break;
        case UCloudRtcEnginePublishStatePublishing: {
            [self.bottomButton setTitle:@"正在发布..." forState:UIControlStateNormal];
        }
            break;
        case UCloudRtcEnginePublishStatePublishSucceed:{
            self.isConnected = YES;
            [self.view makeToast:@"发布成功" duration:1.5 position:CSToastPositionCenter];
            [self.bottomButton setTitle:@"发布成功" forState:UIControlStateNormal];
        }
            break;
        case UCloudRtcEnginePublishStateRepublishing: {
            [self.bottomButton setTitle:@"正在重新发布..." forState:UIControlStateNormal];
        }
            break;
        case UCloudRtcEnginePublishStatePublishFailed: {
            self.isConnected = NO;
            [self.bottomButton setTitle:@"开始发布" forState:UIControlStateNormal];
        }
            break;
        case UCloudRtcEnginePublishStatePublishStoped: {
            self.isConnected = NO;
            [self.view makeToast:@"发布已停止" duration:1.5 position:CSToastPositionCenter];
            [self.bottomButton setTitle:@"开始发布" forState:UIControlStateNormal];
        }
            break;
        default:
            break;
    }
}

8.3 订阅远程流

1)自动订阅模式下,joinRoom成功后,即可订阅远程流;

2)订阅成功,在回调事件中调用渲染接口即可。

-(void)uCloudRtcEngine:(UCloudRtcEngine *)channel didSubscribe:(UCloudRtcStream *)stream{
     [self reloadVideos];
}

8.4 离开房间

[self.engine leaveRoom];

8.5 编译、运行,开始体验吧!

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/125833.html

相关文章

  • 5分钟快速集成UCloud实时视频服务URTC-Windows

    摘要:通过集成,可以从零开始,快速搭建出实时音视频通信平台,可以应用于语音和视频社交在线教育和培训远程医疗在线会议直播等多种业务场景。使用服务之前,首先需要注册账号并且完成实名认证。确定后,自动生成。通过集成URTC SDK,可以从零开始,快速搭建出实时音视频通信平台,可以应用于语音和视频社交、在线教育和培训、远程医疗、在线会议、直播等多种业务场景。 集成URTC SDK之前,需要在UCLOUD官...

    Tecode 评论0 收藏0
  • 5分钟快速集成UCloud实时视频服务URTC-Linux Ubuntu

    摘要:通过集成,可以从零开始,快速搭建出实时音视频通信平台,可以应用于语音和视频社交在线教育和培训远程医疗在线会议直播等多种业务场景。使用服务之前,首先需要注册账号并且完成实名认证。确定后,自动生成。推流成功后,即可直播观看视频。通过集成URTC SDK,可以从零开始,快速搭建出实时音视频通信平台,可以应用于语音和视频社交、在线教育和培训、远程医疗、在线会议、直播等多种业务场景。 集成URTC S...

    Tecode 评论0 收藏0
  • 5分钟快速集成UCloud实时视频服务URTC-Electron

    摘要:通过集成,可以从零开始,快速搭建出实时音视频通信平台,可以应用于语音和视频社交在线教育和培训远程医疗在线会议直播等多种业务场景。集成之前,需要在官网控制台创建应用。使用服务之前,首先需要注册账号并且完成实名认证。确定后,自动生成。通过集成URTC SDK,可以从零开始,快速搭建出实时音视频通信平台,可以应用于语音和视频社交、在线教育和培训、远程医疗、在线会议、直播等多种业务场景。 集成URT...

    Tecode 评论0 收藏0
  • 5分钟快速集成UCloud实时视频服务URTC-iOS

    摘要:通过集成,可以从零开始,快速搭建出实时音视频通信平台,可以应用于语音和视频社交在线教育和培训远程医疗在线会议直播等多种业务场景。使用服务之前,首先需要注册账号并且完成实名认证。确定后,自动生成。通过集成,可以快速实现实时音视频通话。通过集成URTC SDK,可以从零开始,快速搭建出实时音视频通信平台,可以应用于语音和视频社交、在线教育和培训、远程医疗、在线会议、直播等多种业务场景。 集成UR...

    Tecode 评论0 收藏0
  • 5分钟快速集成UCloud实时视频服务URTC-Andriod

    摘要:通过集成,可以从零开始,快速搭建出实时音视频通信平台,可以应用于语音和视频社交在线教育和培训远程医疗在线会议直播等多种业务场景。使用服务之前,首先需要注册账号并且完成实名认证。确定后,自动生成。通过集成URTC SDK,可以从零开始,快速搭建出实时音视频通信平台,可以应用于语音和视频社交、在线教育和培训、远程医疗、在线会议、直播等多种业务场景。 集成URTC SDK之前,需要在UCLOUD官...

    Tecode 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<