有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

插件信息

插件名称
第三方播放器 iOS 插件
版本号
V1.4.0
插件介绍
云点播提供给客户希望使用第三方播放器或自研播放器开发的对接云 PaaS 资源的播放器插件,以及常用于有自定义播放器功能需求的用户。
开发者
深圳市腾讯计算机系统有限公司
合规使用说明
个人信息处理规则
下载 SDK
第三方播放器 iOS 插件和 Demo 项目,请参见 TXCPlayerAdapterSDK_iOS
更新情况可查看 更新日志

集成指引

环境要求

配置支持 HTTP 请求,需要在项目的 info.plist 文件中添加App Transport Security Settings->Allow Arbitrary Loads设置为 YES。

组件依赖

添加GCDWebServer组件依赖。
pod "GCDWebServer", "~> 3.0"
GCDWebServer 是一个轻量的 HTTP server,它基于 GCD 并可用于 OS X & iOS,该库还实现了基于 Web 的文件上传以及 WebDAV server 等扩展功能。

使用播放器

变量声明,播放器主类为TXCPlayerAdapter,创建后即可播放视频。
fileId 一般是在视频上传后,由服务器返回:
1.1 客户端视频发布后,服务器会返回 fileId 到客户端。
1.2 服务端视频上传,在 确认上传 的通知中包含对应的 fileId。
如果文件已存在腾讯云,则可以进入 媒资管理 ,找到对应的文件。点开后在右侧视频详情中,可以看到相关参数。
NSInteger appId; ////appid 在腾讯云点播申请
NSString *fileId;
//psign 即播放器签名,签名介绍和生成方式参见链接:/document/product/266/42436
NSString *pSign = self.pSignTextView.text;
?
TXCPlayerAdapter *adapter = [TXCPlayerAdapter shareAdapterWithAppId:appId];
请求视频信息和播放:
id<ITXCPlayerAssistorProtocol> assistor = [TXCPlayerAdapter createPlayerAssistorWithFileId:fileId pSign:pSign];
[assistor requestVideoInfo:^(id<ITXCPlayerAssistorProtocol> response, NSError *error) {
if (error) {
NSLog(@"create player assistor error : %@",error);
[self.view makeToast:error.description duration:5.0 position:CSToastPositionBottom];
return;
}
[weakSelf avplayerPlay:response]; //播放视频
}];
?
?
?
- (void)avplayerPlay:(id<ITXCPlayerAssistorProtocol>)response
{
AVPlayerViewController *playerVC = [[AVPlayerViewController alloc] init];
self.playerVC = playerVC;
TXCStreamingInfo *info = response.getStreamingInfo;
AVPlayer *player = [[AVPlayer alloc] initWithURL:[NSURL URLWithString:info.playUrl]];
playerVC.player = player;
playerVC.title = response.getVideoBasicInfo.name;
[self.navigationController pushViewController:playerVC animated:YES];
?
[player addObserver:self forKeyPath:@"status" options:NSKeyValueObservingOptionNew context:nil];
}
使用完后销毁 Player:
[TXCPlayerAdapter destroy];

使用图片解密

经过加密的图片需要经过解密后才能正常使用。
//创建TXCPlayerAdapter,使用图片解密时,AppId传入0
TXCPlayerAdapter *adapter = [TXCPlayerAdapter shareAdapterWithAppId:0];
通过 getImageLocalUrl 接口获取 imageUrl 的 LocalUrl。
//创建assistor
id<ITXCPlayerAssistorProtocol> assistor = [TXCPlayerAdapter createPlayerAssistor];
//把imageUrl转换成LocalUrl
NSString *localUrl = [assistor getImageLocalUrl:ImageUrl];
使用 LocalUrl
//显示图片
[_imageView sd_setImageWithURL:[NSURL URLWithString:localUrl]];

SDK 接口说明

初始化 Adatper

初始化 Adapter,单例。
接口
+ (instancetype)shareAdapterWithAppId:(NSUInteger)appId;
参数说明
appId:填写 appid(如果使用了子应用,则填 subappid,如果是图片解密,则填0)。

销毁 Adatper

销毁 Adapter,当程序退出后调用。
接口
+ (void)destroy;

创建播放器辅助类

通过播放器辅助类可以获取播放 fileId 相关信息以及处理 DRM 加密接口等。
接口
+ (id<ITXCPlayerAssistorProtocol>)createPlayerAssistorWithFileId:(NSString *)fileId
pSign:(NSString *)pSign;
参数说明
参数名
类型
描述
fileId
String
要播放的视频 fileId。
pSign
String
播放器签名。

创建图片解密辅助类

通过图片辅助类可以获取加密图片的 localUrl。
接口
+ (id<ITXCPlayerAssistorProtocol>)createPlayerAssistor;

请求视频播放信息

本接口会请求腾讯云点播服务器,获取播放视频的流信息等。
接口
- (void)requestVideoInfo:(ITXCRequestVideoInfoCallback)completion;
参数说明
参数名
类型
描述
completion
ITXCRequestVideoInfoCallback
异步回调函数。

获取图片的 localUrl

接口
?
/// 请求图片的localUrl接口
?
- (NSString *)getImageLocalUrl:(NSString *)imageURL;

销毁播放器辅助类

销毁辅助类,在退出播放器或者切换了下一个视频播放的时候调用。
接口
+ (void)destroyPlayerAssistor:(id<ITXCPlayerAssistorProtocol>)assistor;
参数说明
参数名
类型
描述
imageURL
NSString
图片Url

获取视频的基本信息

获取视频信息, 必须是在id<ITXCPlayerAssistorProtocol>.requestVideoInfo回调之后才生效。
接口
- (TXCVideoBasicInfo *)getVideoBasicInfo;
参数说明
TXCVideoBasicInfo 参数如下:
参数名
类型
描述
name
String
视频名称。
size
Int
视频大小,单位:字节。
duration
Float
视频时长,单位:秒。
description
String
视频描述。
coverUrl
String
视频封面。

获取视频流信息

获取视频流信息列表,必须是在id<ITXCPlayerAssistorProtocol>.requestVideoInfo回调之后才生效。
接口
- (TXCStreamingInfo *)getStreamingInfo;
参数说明
TXCStreamingInfo 参数如下:
参数名
类型
描述
playUrl
String
播放 URL。
subStreams
List
自适应码流子流信息,类型为 TXCSubStreamInfo
TXCSubStreamInfo 参数如下:
参数名
类型
描述
type
String
子流的类型,目前可能的取值仅有 video。
width
Int
子流视频的宽,单位:px。
height
Int
子流视频的高,单位:px。
resolutionName
String
子流视频在播放器中展示的规格名。

获取关键帧打点信息

获取视频关键帧打点信息,必须是在id<ITXCPlayerAssistorProtocol>.requestVideoInfo回调之后才生效。
接口
- (NSArray<TXCKeyFrameDescInfo *> *)getKeyFrameDescInfos;
参数说明
TXCKeyFrameDescInfo 参数如下:
参数名
类型
描述
timeOffset
Float
1.1
content
String
"片头开始..."

获取缩略图信息

获取缩略图信息,必须是在 id<ITXCPlayerAssistorProtocol>.requestVideoInfo 回调之后才生效。
接口
- (TXCImageSpriteInfo *)getImageSpriteInfo;
参数说明
TCXImageSpriteInfo 参数如下:
参数名
类型
描述
imageUrls
List
缩略图下载 URL 数组,类型为 String。
webVttUrl
String
缩略图 VTT 文件下载 URL。
?


http://www.vxiaotou.com