You need to enable JavaScript to run this app.
音视频云端一体解决方案

音视频云端一体解决方案

复制全文
互动直播场景
iOS 接入
复制全文
iOS 接入

本文介绍集成 veVOS 解决方案相关 SDK 的方法,根据文档提供的操作步骤进行配置,您可以将 veVOS 解决方案下的 SDK 集成到 iOS App 工程中。

开发环境要求

  • iOS 9.0 及以上的版本 iPhone 或者 iPad 真机。
  • Xcode 9.0 以上版本。

前提条件

已获取 VeVoS 的版本号

操作步骤

Step 1:获取 License

veVOS 互动直播场景下,您需要获取视频直播 License、实时音视频(RTC)Licnese 和智能美化特效(CV)License。

产品对应功能模块获取方式
视频直播直播推流、直播拉流获取视频直播 License
实时音视频连麦请联系您的商务经理
智能美化特效贴纸特效、美化滤镜、人像智能、手势与人体检测等请联系您的商务经理

Step 2:集成 SDK

  1. 修改 Podfile,在 Podfile 起始位置添加火山引擎 source。
# 1. Cocoapods 官方源;github 或 cdn 二选一
source "https://github.com/Cocoapods/Specs.git" # github 源
# source "https://cdn.cocoapods.org" # cdn 源

# 2. 火山引擎源
source "https://github.com/volcengine/volcengine-specs.git"
  1. 修改 Podfile,添加 veVOS 依赖。

注意

Podfile 中的 $VEVOS_SPEC_KEY$VEVOS_SPEC_SECRET 的取值请先联系商务获取并进行替换,否则会导致 pod install 报错。

target 'Your App Target Name' do
    $VEVOS_SPEC_KEY = "请联系商务获取"
    $VEVOS_SPEC_SECRET = "请联系商务获取"
    # 请更新版本号
    pod "veVOS", "x.y.z" :subspecs => ["LivePull", "LivePush", "CV", "RTC"]
    # 集成 AppLog
    pod "RangersAppLog", "~>6.13.0"
end

上述 Podfile 中的 Subspec Name 与功能模块的对应关系说明如下。

Subspec Name对应功能模块
LivePull直播拉流
LivePush直播推流
CV特效
RTC实时音视频

说明

各 Subspec 均支持单独集成,您可以按需调整。

  1. 执行 pod install --repo-update 完成下载和安装,至此,实现短视频场景功能的相关 SDK 已经集成到项目中。

Setp 3:配置权限

  1. 配置需要使用系统权限。使用 SDK 的音视频功能,需要授权麦克风和摄像头的权限。在 info.plist 中配置开启摄像头和麦克风权限。
  • NSCameraUsageDescription
  • NSMicrophoneUsageDescription
  1. 关闭 bitcode。
  2. 如果您使用的是 Xcode 14,请修改 Project Format 为 Xcode 13.0-compatible。

Setp 4:初始化 SDK

  1. 集成 TTSDK 后,在 App 启动时需要对 TTSDK 进行初始化操作,操作示例如下所示。
#import <TTSDK/TTSDKManager.h>

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Your code...
    [self initTTSDK];
    // Your code...
    return YES;
}

- (void)initTTSDK {
    // .....
}
  1. 创建 TTSDKConfiguration。
- (void)initTTSDK {
    // 使用申请到的 APPID 创建 TTSDKConfiguration
    TTSDKConfiguration *configuration = [TTSDKConfiguration defaultConfigurationWithAppID:@"xxxxxx"];
    // 填入控制台的 App 信息
    configuration.appName = @"AppName";
    configuration.channel = @"local_test";
    configuration.bundleID = @"BundleID";
}
  1. 设置 License 路径。
- (void)initTTSDK {
    //...
    configuration.licenseFilePath = [NSBundle.mainBundle pathForResource:@"path/to/license" ofType:nil];
    //...
}
  1. 将 TTSDKConfiguration 传入 TTSDKManager。
- (void)initTTSDK {
    // 使用申请到的 APPID 创建 TTSDKConfiguration
    TTSDKConfiguration *configuration = [TTSDKConfiguration defaultConfigurationWithAppID:@"xxxxxx"];
    // 填入控制台的 App 信息
    configuration.appName = @"AppName";
    configuration.channel = @"local_test";
    configuration.bundleID = @"BundleID";
    configuration.licenseFilePath = [NSBundle.mainBundle pathForResource:@"path/to/license" ofType:nil];
    [TTSDKManager startWithConfiguration:configuration];
}

Step 5:日志上报

线上问题的排查和质量平台的数据展示都依赖 SDK 上报的日志,因此,日志上报功能默认开启。如有特殊的数据保密要求,您可以通过将 TTSDKConfiguration 的 shouldInitAppLog 配置为 NO 来关闭日志上报。

- (void)initTTSDK {
//....    
configuration.shouldInitAppLog = NO;
//....
}

Step 6:功能接入

实现连麦功能

最近更新时间:2023.07.11 11:03:54
这个页面对您有帮助吗?
有用
有用
无用
无用