tencent cloud

云点播

动态与公告
产品动态
公告
产品简介
产品概述
产品特性
产品功能
产品优势
应用场景
解决方案
专业版
云点播专业版简介
快速入门
控制台指南
开发指南
购买指南
计费概述
计费方式
购买指引
账单查询
续费说明
欠费说明
退费说明
快速入门
控制台指南
控制台介绍
服务概览
应用管理
媒体管理
资源包管理
License 管理
实时日志分析
实践教程
媒体上传
如何将点播的媒体文件进行智能降冷
媒体处理
分发播放
如何接收事件通知
如何进行源站迁移
直播录制
如何进行自定义源站回源
直播精彩剪辑固化至云点播 VOD 指引
如何使用 EdgeOne 分发云点播内容
开发指南
媒体上传
媒体加工处理
媒体 AI
事件通知
媒体分发播放
媒体加密与版权保护
播放频道
访问管理
下载媒体文件
应用体系
错误码
播放器 SDK 文档
概述
基本概念
产品功能
Demo 体验
免费测试
购买指南
SDK 下载
License 指引
播放器教程
含 UI 集成方案
无 UI 集成方案
高级功能
API 文档
第三方播放器插件
Player SDK Policy
服务端 API 文档
History
Introduction
API Category
Other APIs
Media Processing APIs
Task Management APIs
Media Upload APIs
Media Management APIs
Event Notification Relevant API
Media Categorization APIs
Domain Name Management APIs
Distribution APIs
AI-based Sample Management APIs
Region Management APIs
Data Statistics APIs
Carousel-Related APIs
Just In Time Transcode APIs
No longer recommended APIs
Making API Requests
AI-based image processing APIs
Parameter Template APIs
Task Flow APIs
Data Types
Error Codes
Video on Demand API 2024-07-18
常见问题
移动端播放问题
费用相关问题
视频上传问题
视频发布问题
视频播放问题
Web 端播放问题
全屏播放问题
数据统计问题
访问管理相关问题
媒资降冷问题
相关协议
Service Level Agreement
VOD 政策
隐私政策
数据处理和安全协议
联系我们
词汇表

iOS

PDF
聚焦模式
字号
最后更新时间: 2024-04-17 11:49:35

简介

应用场景

高级画中画是在原 基础画中画 上进行的升级,主要支持加密视频画中画、离线播放画中画、从前台无缝切换到画中画的场景,优化了实现方式和逻辑,无需长时间等待,实现真正意义的“秒切”效果。
高级画中画优势:
加密视频画中画:现有播放器的加密播放紧密结合,能够顺畅实现基于加密模板的视频画中画播放,全程无需更换播放器类型。
离线播放画中画:支持本地视频画中画播放,包含普通视频、加密视频等。
“秒切”效果:无需点击切换画中画按钮,退后台即可立马启动画中画,实现真正意义的“秒切”。

环境要求

系统版本:iOS ≥ 14.0、iPad ≥ 9.0。
硬件设备:iPhone 8及以上的设备。
SDK 版本:11.4版本及以上。

集成步骤

升级版本及配置资源

1. 升级 SDK 版本

高级画中画需要 SDK 配合使用,在使用高级画中画版本功能前需要将 SDK 的版本升级到11.3及以上的高级版本 或 11.4及以上的基础版本,否则无法使用。同时,基础画中画 版本和高级画中画版本两者可以兼容性的存在,不会存在功能性冲突。若想升级 SDK 版本,请参见 SDK 集成指引

2. 引入 bundle 资源

因为 SDK 内需要使用 TXVodPlayer.bundle 里的资源,需在编译之前将 bundle 文件 下载 引入到项目中,切勿更改 bundle 及其内部使用的资源名称,否则会导致无缝切换画中画失败。




3. 开通播放器高级版 Licence

高级画中画版本需要使用移动端播放器高级版 License,您可参见 移动端播放器 License 指引获取。若您已获取对应 License,可前往 腾讯云视立方控制台 > License 管理 > 移动端 License 获取对应 LicenseURL 和 LicenseKey。如果没有申请 Player 高级套餐 License,进入画中画将无效。
获取到 License 信息后,在调用 SDK 的相关接口前,通过下面的接口初始化 License,建议在 - [AppDelegate application:didFinishLaunchingWithOptions:] 中进行如下设置:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
NSString * const licenceURL = @"<获取到的 licenseUrl>";
NSString * const licenceKey = @"<获取到的 key>";

//TXLiveBase 位于 "TXLiveBase.h" 头文件中
[TXLiveBase setLicenceURL:licenceURL key:licenceKey];
NSLog(@"SDK Version = %@", [TXLiveBase getSDKVersionStr]);
}

画中画功能快速接入

1. 权限开通

画中画(PictureInPicture)在 iOS 9 就已经推出了,不过之前都只能在 iPad 上使用,iPhone 要使用画中画需更新到 iOS 14 才能使用。 目前腾讯云播放器可以支持应用内和应用外画中画能力,极大的满足用户的诉求。使用前需要开通后台模式,步骤为:XCode 选择对应的 Target > Signing & Capabilities > Background Modes,勾选 “Audio, AirPlay, and Picture in Picture”

img



2. 设置配置选项

为了使用自动画中画功能,需要在设置中打开自动开启画中画按钮。具体路径为 iPhone 或 iPad上选择:设置 > 通用 > 画中画 > 自动开启画中画,选择打开即可。




3. 设置代理

为了便于监听画中画的状态,需要设置 vodDelegate,实现 TXVodPlayListener 中的画中画相关回调。可以根据回调里的各种状态和错误信息,进行相关的业务操作,例如:继续播放、暂停或退出画中画等。
/**
* 画中画状态回调
*
* 画中画状态回调
*/
- (void)onPlayer:(TXVodPlayer *)player pictureInPictureStateDidChange:(TX_VOD_PLAYER_PIP_STATE)pipState withParam:(NSDictionary *)param;

/**
* 画中画错误信息回调
*
* 画中画错误信息回调
*/
- (void)onPlayer:(TXVodPlayer *)player pictureInPictureErrorDidOccur:(TX_VOD_PLAYER_PIP_ERROR_TYPE)errorType withParam:(NSDictionary *)param;

4. 使用画中画能力代码示例

注意:
使用自动画中画功能一定要确保播放器处于播放状态,若播放器是暂停或停止状态时,无法使用自动画中画功能。
isSupportSeamlessPictureInPicture 这个接口,需要在应用程序加载高级版 License 以后才能使用。同时,此接口只能判断设备本身是否支持自动切换画中画,因系统限制,无法判断用户对于自动画中画的设置权限,需自行引导。
播放之前先设置是否允许“自动切换画中画功能”

// 1.播放之前先设置“自动切换 Picture-In-Picture功能”是否允许
// YES 表示允许 NO 表示不允许,默认为NO
[TXVodPlayer setPictureInPictureSeamlessEnabled:YES];

// 2、进入画中画
if (![TXVodPlayer isSupportPictureInPicture]) {
// 设备不支持画中画直接退出
return;
}

// 手动调用进入画中画
[_vodPlayer enterPictureInPicture];

// 3、退后台操作 如果设备支持无缝切换画中画,退后台不暂停播放。
// 注意:isSupportSeamlessPictureInPicture这个接口,需要在应用程序加载高级版License以后才能使用。同时,此接口只能判断设备本身
// 是否支持自动切换画中画,因系统限制,无法判断用户对于自动画中画的设置权限,需自行引导。
if ([self.vodplayer isSupportSeamlessPictureInPicture]) {
// 不做处理
} else {
// 暂停播放
[self.vodplayer pause];
}

// 4.退出画中画
[_vodPlayer exitPictureInPicture];

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈