腾讯云云点播集成指引_音视频解决方案_同尘科技

云点播 2年前 (2023-08-17) 浏览 198

本文主要介绍如何快速地将腾讯云视立方·播放器 LiteAVSDK_Player(iOS)集成到您的项目中,按照如下步骤进行配置,就可以完成 SDK 的集成工作。

开发环境要求

Xcode 9.0+。iOS 9.0 以上的 iPhone 或者 iPad 真机。项目已配置有效的开发者签名。

集成 LiteAVSDK

您可以选择使用 CocoaPods 自动加载的方式,或者先下载 SDK,再将其导入到您当前的工程项目中。

CocoaPods集成

1. 安装 CocoaPods
在终端窗口中输入如下命令(需要提前在 Mac 中安装 Ruby 环境):

sudo gem install cocoapods

2. 创建 Podfile 文件
进入项目所在路径,输入以下命令行之后项目路径下会出现一个 Podfile 文件。

pod init

3. 编辑 Podfile 文件
使用 CocoaPod 官方源,支持选择版本号。编辑 Podfile 文件: Pod 方式直接集成最新版本 TXLiteAVSDK_Player:

platform :ios, '9.0'source 'https://github.com/CocoaPods/Specs.git'
target 'App' dopod 'TXLiteAVSDK_Player'end

如果您需要指定某一个特定版本,可以在 podfile 文件中添加如下依赖:

pod 'TXLiteAVSDK_Player', '~> 10.3.11513'

如果您需要集成播放高级版本(Premium)SDK,在 podfile 文件中添加如下依赖:

platform :ios, '9.0'source 'https://github.com/CocoaPods/Specs.git'
target 'App' dopod 'TXLiteAVSDK_Player_Premium'end

4. 更新并安装 SDK在终端窗口中输入如下命令以更新本地库文件,并安装 LiteAVSDK:

pod install

或使用以下命令更新本地库版本:

pod update

pod 命令执行完后,会生成集成了 SDK 的 .xcworkspace 后缀的工程文件,双击打开即可。

手动集成 SDK

1. 下载 最新版本 TXLiteAVSDK_Player 的 SDK + Demo 开发包。如果您需要集成播放高级版本(Premium)SDK,请 单击此处 下载。2. 将 SDK/TXLiteAVSDK_Player.framework 添加到待集成的工程中,并勾选Do Not Embed。3. 需要配置项目 Target 的 -ObjC,否则会因为加载不到 SDK 的类别而导致 Crash。

打开 Xcode -> 选择对应的 Target -> 选择"Build Setting" Tab -> 搜索"Other Link Flag" -> 输入"-ObjC"

4. 添加相应的库文件(SDK 目录里)TXFFmpeg.xcframework:将.xcframework 文件添加到项目工程中,并在“General – Frameworks, Libraries, and Embedded Content”中将其设置为“Embed&Sign”,并在“Project Setting – Build Phases – Embed Frameworks”中进行检查,设置”Code Sign On Copy“选项为勾选状态,如下图所示:TXSoundTouch.xcframework:将.xcframework 文件添加到项目工程中,并在“General – Frameworks, Libraries, and Embedded Content”中将其设置为“Embed&Sign”,并在“Project Setting – Build Phases – Embed Frameworks”中进行检查,设置”Code Sign On Copy“选项为勾选状态,如下图所示:同时,切换到 Xcode 的 “Build Settings – Search Paths”,在“Framework Search Paths”中添加上述 Framework 所在的路径。MetalKit.framework:打开 Xcode,切换到“project setting – Build Phases – Link Binary With Libraries”,选择左下角的“+”号,并输入“MetalKit”,并加入项目工程中,如下图所示:


ReplayKit.framework:打开 Xcode,切换到“project setting – Build Phases – Link Binary With Libraries”,选择左下角的“+”号,并输入“ReplayKit”,并加入项目工程中,如下图所示:
 使用同样的方式添加如下系统库:系统 Framework 库:SystemConfiguration, CoreTelephony, VideoToolbox, CoreGraphics, AVFoundation, Accelerate, MobileCoreServices系统 Library 库: libz, libresolv, libiconv, libc++, libsqlite3

画中画功能

如果需要使用画中画能力,请按如下图的方式进行配置,若无此部分需求可以忽略。1. 为了使用 iOS 的画中画(Picture-In-Picture),请将 SDK 升级到10.3版本及以上。2. 使用画中画能力时,需要开通后台模式。XCode 选择对应的Target -> Signing & Capabilities -> Background Modes,勾选“Audio, AirPlay, and Picture in Picture”,如图所示:
项目代码中使用 SDK 有两种方式:方式一: 在项目需要使用 SDK API 的文件里,添加模块引用。

@import TXLiteAVSDK_Player;

方式二:在项目需要使用 SDK API 的文件里,引入具体的头文件。

#import "TXLiteAVSDK_Player/TXLiteAVSDK.h"

在工程中引入 SDK

项目代码中使用 SDK 有两种方式:方式一: 在项目需要使用 SDK API 的文件里,添加模块引用。

@import TXLiteAVSDK_Player;// 如果您使用的的 Premium 版本,请用: @import TXLiteAVSDK_Player_Premium;

方式二:在项目需要使用 SDK API 的文件里,引入具体的头文件。

#import "TXLiteAVSDK_Player/TXLiteAVSDK.h"// 如果您使用的的 Premium 版本,请用: #import "TXLiteAVSDK_Player_Premium/TXLiteAVSDK.h"

给 SDK 配置 License 授权

1. 单击 License 申请 获取测试用 License,不配置 License 将会播放时视频失败,具体操作请参见 测试版 License。您会获得两个字符串:一个字符串是 licenseURL,另一个字符串是解密 key。2. 在您的 App 调用 LiteAVSDK 的相关功能之前(建议在- [AppDelegate application:didFinishLaunchingWithOptions:]中)进行如下设置:

@import TXLiteAVSDK_Player;@implementation AppDelegate- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    NSString * const licenceURL = @"";    NSString * const licenceKey = @"";
//TXLiveBase 位于 "TXLiveBase.h" 头文件中 [TXLiveBase setLicenceURL:licenceURL key:licenceKey]; // TXLiveBase.delegate = self; NSLog(@"SDK Version = %@", [TXLiveBase getSDKVersionStr]);}
#pragma mark - TXLiveBaseDelegate- (void)onLicenceLoaded:(int)result Reason:(NSString *)reason { NSLog(@"onLicenceLoaded: result:%d reason:%@", result, reason);}@end

查看方法

License 设置成功后(需稍等一段时间,具体时间长短依据网络情况而定),您可以通过调用如下方法查看 License 信息:

NSLog(@"%@", [TXLiveBase getLicenceInfo]);

常见问题

项目里面同时集成了直播 SDK/实时音视频/播放器等 LiteAVSDK 系列的多个 SDK 报符号冲突问题怎么解决?

如果集成了2个或以上产品(直播、播放器、TRTC、短视频)的 LiteAVSDK 版本,编译时会出现库冲突问题,因为有些 SDK 底层库有相同符号文件,这里建议只集成一个全功能版 SDK 可以解决,直播、播放器、TRTC、短视频这些都包含在一个 SDK 里面。具体请参见 SDK 下载。

Swift 项目工程里怎么调用 SDK 的 API 方法?

如果在 Swift 的项目工程里想调用 SDK 的 API 接口,有下面两种方式:

方式一:使用桥接头文件

1. 创建桥接头文件。例如***-Bridging-Header.h,并添加如下代码#import 。2. 配置工程BuildSettingObjective-c Bridging header选项。设置桥接文件的路径并添加到 Objective-c Bridging header中( 如:$(SRCROOT)/SwiftCallOC/***-Bridging-Header.h,根据项目具体路径确定),编译运行即可。

方式二:使用SDK内的 module.modulemap 文件

1. 检查TXLiteAVSDK_Player.framework里是否有包含Modules - module.modulemap文件(Player SDK 默认都提供)。2. 配置工程BuildSettingSwift Compiler - Search Paths选项。添加module.modulemap文件所在的目录路径或其上层目录路径,此处可为:${PODS_ROOT}/TXLiteAVSDK_Player/TXLiteAVSDK_Player/TXLiteAVSDK_Player.framework/Modules(根据项目具体路径确定)。3. 在需要调用的类顶部,使用import TXLiteAVSDK_Player来进行引入并调用相关的方法。
以上集成的方式及 Demo,可以具体参考 GitHub Demo。

对音视频的解决方案有疑惑?想了解解决方案收费? 联系解决方案专家

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心,购买腾讯云享受折上折,更有现金返利:同意关联,立享优惠

阿里云解决方案也看看?: 点击对比阿里云的解决方案

- 0人点赞 -

发表点评 (0条)

not found

暂无评论,你要说点什么吗?