超级播放器

最近更新时间:2022-06-01 09:37:25

产品概述

腾讯云视立方 iOS 超级播放器是腾讯云开源的一款播放器组件,集质量监控、视频加密、极速高清、清晰度切换、小窗播放等功能于一体,适用于所有点播、直播播放场景。封装了完整功能并提供上层 UI,可帮助您在短时间内,打造一个媲美市面上各种流行视频 App 的播放软件。

若超级播放器组件满足不了您的业务的个性化需求,且您具有一定的开发经验,可以集成 视立方播放器 SDK,自定义开发播放器界面和播放功能。

准备工作

  1. 为了您体验到更完整全面的播放器功能,建议您开通 云点播 相关服务,未注册用户可注册账号 试用。若您不使用云点播服务,可略过此步骤,但集成后仅可使用播放器基础能力。
  2. 下载 Xcode,如您已下载可略过该步骤,您可以进入 App Store 下载安装。
  3. 下载 Cocoapods,如您已下载可略过该步骤,您可以进入 Cocoapods 官网 按照指引进行安装。

通过本文您可以学会

  • 如何集成腾讯云视立方 iOS 超级播放器
  • 如何创建和使用播放器

集成准备

步骤1:项目下载

腾讯云视立方 iOS 超级播放器的项目地址是 SuperPlayer_iOS

您可通过 下载播放器组件 ZIP 包Git 命令下载 的方式下载腾讯云视立方 iOS 超级播放器项目工程。

您可以直接下面播放器组件 ZIP包,单击页面的Code > Download ZIP下载。

步骤2:集成指引

本步骤,用于指导用户如何集成播放器,推荐用户选择使用 Cocoapods 集成 或者 手动下载 SDK 再将其导入到您当前的工程项目中。

  1. 本项目支持 Cocoapods 安装,只需要将如下代码添加到 Podfile 中:
    pod 'SuperPlayer'
  2. 执行 pod installpod update

步骤3:使用播放器功能

本步骤,用于指导用户创建和使用播放器,并使用播放器进行视频播放。

1. 创建播放器

播放器主类为SuperPlayerView,创建后即可播放视频。

// 引入头文件
#import <SuperPlayer/SuperPlayer.h>

// 创建播放器  
_playerView = [[SuperPlayerView alloc] init];
// 设置代理,用于接受事件
_playerView.delegate = self;
// 设置父 View,_playerView 会被自动添加到 holderView 下面
_playerView.fatherView = self.holderView;

2. 配置 License 授权

若您已获得相关 License 授权,需在 腾讯云视立方控制台 获取 License URL 和 License Key:
image
若您暂未获得 License 授权,需先参见 视频播放 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]);
}

3. 播放视频

本步骤用于指导用户播放视频。腾讯云视立方 iOS 超级播放器可用于直播和点播两种播放场景,具体如下

  • 点播播放:超级播放器支持两种点播播放方式,可以 通过 FileId 播放 腾讯云点播媒体资源,也可以直接使用 URL 播放 地址进行播放。
  • 直播播放:超级播放器可使用 URL 播放 的方式实现直播播放。通过传入 URL 地址,即可拉取直播音视频流进行直播播放。腾讯云直播URL生成方式可参见 自主拼装直播 URL

URL可以是点播文件播放地址,也可以是直播拉流地址,传入相应 URL 即可播放相应视频文件。

SuperPlayerModel *model = [[SuperPlayerModel alloc] init];
model.videoURL = @"http://your_video_url.mp4";   // 配置您的播放视频url
[_playerView playWithModel:model];

4. 退出播放

当不需要播放器时,调用resetPlayer清理播放器内部状态,释放内存。

[_playerView resetPlayer];

您已完成了腾讯云视立方 iOS 超级播放器的创建、播放视频和退出播放的能力集成。

功能使用

1、全屏播放

超级播放器支持全屏播放,在全屏播放场景内,同时支持锁屏、手势控制音量和亮度、弹幕、截屏、清晰度切换等功能设置。功能效果可在 腾讯云视立方 App > 播放器 > 超级播放器 中体验,单击界面右下角全屏即可进入全屏播放界面。

在窗口播放模式下,可通过调用下述接口进入全屏播放模式:

- (void)superPlayerFullScreenChanged:(SuperPlayerView *)player {
  //用户可在此自定义切换全屏后的逻辑
}

全屏播放界面功能介绍

通过返回即可返回窗口播放模式,单击后 SDK 处理完全屏切换的逻辑后会触发的代理方法为:

// 返回事件
- (void)superPlayerBackAction:(SuperPlayerView *)player;
单击左上角返回按钮触发
// 全屏改变通知
- (void)superPlayerFullScreenChanged:(SuperPlayerView *)player;

2、悬浮窗播放

超级播放器支持悬浮窗小窗口播放,可以在切换到应用内其它页面时,不打断视频播放功能。功能效果可在 腾讯云视立方 App > 播放器 > 超级播放器 中体验,单击界面左上角返回,即可体验悬浮窗播放功能。

// 如果在竖屏且正在播放的情况下单击返回按钮会触发接口
[SuperPlayerWindowShared setSuperPlayer:self.playerView];
[SuperPlayerWindowShared show];
// 单击浮窗返回窗口触发的代码接口
SuperPlayerWindowShared.backController = self;

3、视频封面

超级播放器支持用户自定义视频封面,用于在视频接收到首帧画面播放回调前展示。功能效果可在 腾讯云视立方 App > 播放器 > 超级播放器 > 自定义封面演示 视频中体验。

  • 当超级播放器设置为自动播放模式PLAY_ACTION_AUTO_PLAY时,视频自动播放,此时将在视频首帧加载出来之前展示封面。
  • 当超级播放器设置为手动播放模式PLAY_ACTION_MANUAL_PLAY时,需用户单击播放后视频才开始播放。在单击播放前将展示封面;在单击播放后到视频首帧加载出来前也将展示封面。

视频封面支持使用网络 URL 地址或本地 File 地址,使用方式可参见下述指引。若您通过 FileID 的方式播放视频,则可直接在云点播内配置视频封面。

SuperPlayerModel *model = [[SuperPlayerModel alloc] init];
SuperPlayerVideoId *videoId = [SuperPlayerVideoId new];
videoId.fileId = @"8602268011437356984"; 
model.appId = 1400329071;
model.videoId = videoId;
//播放模式,可设置自动播放模式:PLAY_ACTION_AUTO_PLAY,手动播放模式:PLAY_ACTION_MANUAL_PLAY
model.action  = PLAY_ACTION_MANUAL_PLAY; 
//设定封面的地址为网络url地址,如果coverPictureUrl不设定,那么就会自动使用云点播控制台设置的封面
model.customCoverImageUrl = @"http://1500005830.vod2.myqcloud.com/6c9a5118vodcq1500005830/cc1e28208602268011087336518/MXUW1a5I9TsA.png"; 
[self.playerView playWithModel:model] 

4、视频列表轮播

超级播放器支持视频列表轮播,即在给定一个视频列表后:

  • 支持按顺序循环播放列表中的视频,播放过程中支持自动播放下一集也支持手动切换到下一个视频。
  • 列表中最后一个视频播放完成后将自动开始播放列表中的第一个视频。

功能效果可在 腾讯云视立方 App > 播放器 > 超级播放器 > 视频列表轮播演示 视频中体验。

//步骤1:构建轮播数据的 NSMutableArray
NSMutableArray *modelArray = [NSMutableArray array];
SuperPlayerModel *model = [SuperPlayerModel new];
SuperPlayerVideoId *videoId = [SuperPlayerVideoId new];
videoId.fileId = @"8602268011437356984"; 
model.appId = 1252463788;
model.videoId = videoId;
[modelArray addObject:model];

model = [SuperPlayerModel new];
videoId = [SuperPlayerVideoId new];
videoId.fileId = @"4564972819219071679";
model.appId = 1252463788;
model.videoId = videoId;
[modelArray addObject:model];

//步骤2:调用 SuperPlayerView 的轮播接口
[self.playerView playWithModelList:modelArray isLoopPlayList:YES startIndex:0];

(void)playWithModelList:(NSArray *)playModelList isLoopPlayList:(BOOL)isLoop startIndex:(NSInteger)index;

接口参数说明

参数名 类型 描述
playModelList NSArray * 轮播数据列表
isLoop Boolean 是否循环
index NSInteger 开始播放的视频索引

5、视频试看

超级播放器支持视频试看功能,可以适用于非 VIP 试看等场景,开发者可以传入不同的参数来控制视频试看时长、提示信息、试看结束界面等。功能效果可在 腾讯云视立方 App > 播放器 > 超级播放器 > 试看功能演示 视频中体验。

shikan1.png

shikan2.png

 //步骤1:创建试看model
 TXVipWatchModel *model = [[TXVipWatchModel alloc] init];
 model.tipTtitle = @"可试看15秒,开通VIP观看完整视频";
 model.canWatchTime = 15;
 //步骤2:设置试看model
 self.playerView.vipWatchModel = model;
 //步骤3:调用方法展示试看功能
 [self.playerView showVipTipView];

TXVipWatchModel 类参数说明:

参数名 类型 描述
tipTtitle NSString 试看提示信息
canWatchTime float 试看时长,单位为妙

6、动态水印

超级播放器支持在播放界面添加不规则跑动的文字水印,有效防盗录。全屏播放模式和窗口播放模式均可展示水印,开发者可修改水印文本、文字大小、颜色。功能效果可在 腾讯云视立方 App > 播放器 > 超级播放器 > 动态水印演示 视频中体验。

shuiyin.png

//步骤1:创建视频源信息 model
SuperPlayerModel *  playermodel   = [SuperPlayerModel new];
//添加视频源其他信息
//步骤2:创建动态水印 model
DynamicWaterModel *model = [[DynamicWaterModel alloc] init];
//步骤3:设置动态水印的数据
model.dynamicWatermarkTip = @"shipinyun";
model.textFont = 30;
model.textColor = [UIColor colorWithRed:255.0/255.0 green:255.0/255.0 blue:255.0/255.0 alpha:0.8];
playermodel.dynamicWaterModel = model;
//步骤4:调用方法展示动态水印
[self.playerView playWithModel:playermodel];

DynamicWaterModel 类参数说明:

参数名 类型 描述
dynamicWatermarkTip NSString 水印文本信息
textFont CGFloat 文字大小
textColor UIColor 文字颜色

Demo 体验

更多完整功能可直接运行工程 Demo,或扫码下载移动端 Demo 腾讯云视立方 App体验。

运行工程 Demo

  1. 在 Demo 目录,执行命令行 pod update,重新生成 TXLiteAVDemo.xcworkspace 文件。
  2. 双击打开工程,修改证书选择真机运行。
  3. 成功运行 Demo 后,进入 播放器 > 超级播放器,可体验播放器功能。

腾讯云视立方 App

腾讯云视立方 App > 播放器 中可体验更多超级播放器功能。

目录