-
Notifications
You must be signed in to change notification settings - Fork 224
Home
SuperPlayer是腾讯云开源的一款播放器组件,简单几行代码即可拥有类似腾讯视频强大的播放功能。包括横竖屏切换、清晰度选择、手势、小窗等基础功能,还支持视频缓存,软硬解切换,倍速播放等特殊功能。相比系统播放器,支持格式更多,兼容性更好,功能更强大。同时还支持直播流(flv+rtmp)播放,具备首屏秒开、低延迟的优点,清晰度无缝切换、直播时移等高级能力。
本播放器完全免费开源,不对播放地址来源做限制,可放心使用。
本文档部分内容为腾讯云专属能力,使用前请开通腾讯云相关服务,未注册用户可注册账号免费试用。
(1)Pod 方式直接集成 SuperPlayer
pod 'SuperPlayer'
如果您需要依赖 Player 版,可以在 podfile 文件中添加如下依赖:
pod 'SuperPlayer/Player'
如果您需要依赖专业版,可以在 podfile 文件中添加如下依赖:
pod 'SuperPlayer/Professional'
(2)Pod 方式直接集成 TXLiteAVSDK_Player:
pod 'TXLiteAVSDK_Player'
如果您需要指定某一个特定版本,可以在 podfile 文件中添加如下依赖:
pod 'TXLiteAVSDK_Player', '~> 10.3.11513'
执行pod install或pod update
手动下载最新版本的播放器SDK和Demo,仔细阅读播放器集成相关配置
(1)设置License Demo体验时,需要配置项目使用的License(包含LicenseURL和Key),请按下图的方式进行配置(使用申请的License)
(2)设置证书及描述文件,如下图所示(设置配套的证书信息)
播放器主类为SuperPlayerView
,创建后即可播放视频。
// 引入头文件
#import <SuperPlayer/SuperPlayer.h>
_playerView = [[SuperPlayerView alloc] init];
// 设置代理,用于接受事件
_playerView.delegate = self;
// 设置父View,_playerView会被自动添加到holderView下面
_playerView.fatherView = self.holderView;
SuperPlayerModel *playerModel = [[SuperPlayerModel alloc] init];
// 设置播放地址,直播、点播都可以
playerModel.videoURL = @"http://200024424.vod.myqcloud.com/200024424_709ae516bdf811e6ad39991f76a4df69.f20.mp4";
// 开始播放
[_playerView playWithModel:playerModel];
运行代码,可以看到视频在手机上播放,并且界面上大部分功能都处于可以状态
上面的示例代码只有一种清晰度,如果要添加多个清晰度,也非常简单。以直播为例,打开直播控制台,找到需要播放放的直播流,进入详情。
这里有不同清晰度、不同格式的播放地址。推荐使用FLV地址播放,代码如下:
SuperPlayerUrl *url1 = [SuperPlayerUrl new];
url1.url = @"http://5815.liveplay.myqcloud.com/live/5815_62fe94d692ab11e791eae435c87f075e.flv";
url1.title = @"超清";
SuperPlayerUrl *url2 = [SuperPlayerUrl new];
url2.url = @"http://5815.liveplay.myqcloud.com/live/5815_62fe94d692ab11e791eae435c87f075e_900.flv";
url2.title = @"高清";
SuperPlayerUrl *url3 = [SuperPlayerUrl new];
url3.url = @"http://5815.liveplay.myqcloud.com/live/5815_62fe94d692ab11e791eae435c87f075e_550.flv";
url3.title = @"标清";
SuperPlayerModel *playerModel = [[SuperPlayerModel alloc] init];
palyerModel.multiVideoURLs = @[url1, url2, url3];
playerModel.videoURL = url1.url; // 设置默认播放的清晰度
// 开始播放
[_playerView playWithModel:playerModel];
在播放器中即可看到这几个清晰度,单击即可立即切换。
播放器开启时移非常简单,您只需要在播放前配置好appId
SuperPlayerVideoId *videoId = [SuperPlayerVideoId new];
videoId.appId = 1252463788;
playerModel.videoId = videoId;
appId在 腾讯云控制台 -> 账号信息 中查到。
播放的直播流就能在下面看到进度条。往后拖动即可回到指定位置,单击“返回直播”可观看最新直播流。
时移功能处于公测申请阶段,如您需要可提交工单申请使用。
设置清晰度除了填写url外,更简单的使用方式是采用fileId播放。fileId在一般是在视频上传后,由服务器返回:
如果文件已存在腾讯云,则可以进入 点播视频管理 ,找到对应的文件。点开后在右侧视频详情中,可以看到appId和fileId。
播放fileId的代码如下:
SuperPlayerModel *playerModel = [[SuperPlayerModel alloc] init];
SuperPlayerVideoId *videoId = [SuperPlayerVideoId new];
videoId.appId = 1252463788;
videoId.fileId = @"4564972819219071679";
playerModel.videoId = videoId;
[_playerView playWithModel:self.playerModel];
视频在上传后,后台会自动转码(所有转码格式请参考转码模板)。转码完成后,播放器会自动显示多个清晰度。
在播放长视频时,雪碧图和打点信息有助于观众找到该兴趣的点。使用腾讯云服务API,能快速对视频处理。
任务执行成功后,播放器的界面会增加新的元素。
小窗播是指在App内,悬浮在主window上的播放器。使用小窗播放非常简单,只需要在适当位置调用下面代码即可:
SuperPlayerWindowShared.superPlayer = _playerView; // 设置小窗显示的播放器
SuperPlayerWindowShared.backController = self; // 设置返回的view controller
[SuperPlayerWindowShared show]; // 悬浮显示
当不需要播放器时,调用resetPlayer清理播放器内部状态,释放内存。
[_playerView resetPlayer];
使用iOS画中画能力时,请将SDK升级到10.3及以上版本,画中画能力iOS使用条件为iOS 14.0 & iPad 9.0以上,使用前请调用SDK相关接口进行判断。 同时,需要开通后台模式。XCode选择对应的Target -> Signing & Capabilities -> Background Modes,勾选“Audio, AirPlay, and Picture in Picture”
// 进入画中画
if (![TXVodPlayer isSupportPictureInPicture]) {
return;
}
[_vodPlayer enterPictureInPicture];
// 退出画中画
[_vodPlayer exitPictureInPicture];
完整功能可扫码下载视频云工具包体验,或直接运行工程Demo。