tencent cloud

文档反馈

集成指引

最后更新时间:2024-04-26 11:09:31
    本文主要介绍如何快速地将腾讯云播放器 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_Premium:
    platform :ios, '9.0'
    source 'https://github.com/CocoaPods/Specs.git'
    
    target 'App' do
    pod 'TXLiteAVSDK_Player_Premium'
    end
    如果您需要指定某一个特定版本,可以在 podfile 文件中添加如下依赖:
    pod 'TXLiteAVSDK_Player_Premium', '~> 110.8.29000'
    4. 更新并安装 SDK
    在终端窗口中输入如下命令以更新本地库文件,并安装 LiteAVSDK:
    pod install
    或使用以下命令更新本地库版本:
    pod update
    pod 命令执行完后,会生成集成了 SDK 的 .xcworkspace 后缀的工程文件,双击打开即可。

    手动集成SDK

    1. 下载 最新版本 TXLiteAVSDK_Player_Premium 的 SDK + Demo 开发包。
    2. 将 SDK/TXLiteAVSDK_Player_Premium.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 有两种方式:
    方式一: 在项目需要使用 SDK API 的文件里,添加模块引用。
    @import TXLiteAVSDK_Player_Premium;
    // 如果您使用的是播放器基础版本,请用: @import TXLiteAVSDK_Player;
    方式二:在项目需要使用 SDK API 的文件里,引入具体的头文件。
    #import "TXLiteAVSDK_Player_Premium/TXLiteAVSDK.h"
    // 如果您使用的是播放器基础版本,请用:#import "TXLiteAVSDK_Player/TXLiteAVSDK.h"

    给 SDK 配置 License 授权

    1. 进入 云点播控制台 获取测试用 License,不配置 License 将会播放时视频失败,具体操作请参见 新增与续期 License。您会获得两个字符串:一个字符串是 licenseURL,另一个字符串是解密 key。
    2. 获取到 License 信息后,在调用 SDK 的相关接口前,需要初始化配置 License,详细教程请参见 配置查看 License

    常见问题

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

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

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

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

    方式一:使用桥接头文件

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

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

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

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持