有奖捉虫:办公协同&微信生态&物联网文档专题 HOT
本文主要介绍如何快速地将腾讯云视立方·播放器 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' do
pod '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' do
pod '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.xcframework 添加到待集成的工程中,并勾选 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 选项为勾选状态。

img


同时,切换到 Xcode 的 “Build Settings - Search Paths”,在“Framework Search Paths”中添加上述 Framework 所在的路径。
MetalKit.framework:打开 Xcode,切换到“project setting - Build Phases - Link Binary With Libraries”,选择左下角的“+”号,并输入“MetalKit”,并加入项目工程中,如下图所示:

img



img



ReplayKit.framework:打开 Xcode,切换到“project setting - Build Phases - Link Binary With Libraries”,选择左下角的“+”号,并输入“ReplayKit”,并加入项目工程中,如下图所示:

img


使用同样的方式添加如下系统库:
系统 Framework 库:SystemConfiguration, CoreTelephony, VideoToolbox, CoreGraphics, AVFoundation, Accelerate, MobileCoreServices。
系统 Library 库:libz, libresolv, libiconv, libc++, libsqlite3。
5. 11.7.15343 版本 以后,Player SDK适配了苹果的隐私清单,下载对应SDK并将SDK内 TXLiteAVSDK_Player.bundle 添加到项目工程里:



如果是 pods 引入 SDK 的话,可以忽略上述步骤。

画中画功能

如果需要使用画中画能力,请按如下图的方式进行配置,若无此部分需求可以忽略。
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. 获取到 License 信息后,在调用 SDK 的相关接口前,需要初始化配置 License,详细教程请参见 配置查看 License

设置 SDK 接入环境

注意:
如果您的应用要出海, 服务海外用户, 则此步骤是必须的。
为服务客户更高质量、更安全合规地开展业务,符合各国家和地区的法律法规要求,腾讯云提供两套 SDK 接入环境。若您服务中国地区用户,则无需此配置,若您服务全球用户,推荐您使用以下接口配置全球接入环境。
// 若您服务全球用户, 配置 SDK 接入环境为全球接入环境
[TXLiveBase setGlobalEnv:"GDPR"]

常见问题

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

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

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

如果在 Swift 的项目工程里想调用 SDK 的 API 接口,有下面两种方式:
方式一:使用桥接头文件
1. 创建桥接头文件。例如***-Bridging-Header.h,并添加如下代码#import <TXLiteAVSDK_Player/TXLiteAVSDK.h>
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