测试已测试 | ✗ |
Lang语言 | Obj-CObjective C |
许可 | 商业 |
发布最后发布 | 2016年1月 |
由Gabi Dobocan、Ovidiu D. Nitan 维护。
依赖 | |
KAProgressLabel | ~> 3.0 |
TBXML | ~> 1.5 |
TSMiniWebBrowser | >= 0 |
Veeplay 媒体播放器允许您
安装cocoapods,然后运行
pod try Veeplay
目前有两条集成路径:通过 CocoaPods 或通过标准库下载。
通过 CocoaPods 安装(推荐)
将以下行添加到 podfile 中
pod 'Veeplay'
运行 pod install
以安装播放器和所有依赖。运行 pod update
以保持库更新。
通过库下载安装
将 MediaPlayer.framework
、AVFoundation.framework
、CoreMedia.framework
、SystemConfiguration.framework
和 libz.dylib
添加到您的项目中。
MediaPlayer.framework
、AVFoundation.framework
和 libz.dylib
添加到项目中。将播放器的静态库添加到您的项目中。
将播放器的头文件添加到您的项目中。
将“headers”文件夹中的所有头文件拖入您的 Xcode 项目中 OR
在项目设置屏幕中选择您的目标。
将播放器的资源文件添加到您的项目中。
在 http://panel.veeso.co 上设置账户,并将应用程序的包标识符添加到“许可证管理”下。
导入玩家的头文件,以及VAST/VMAP或其他插件
#import "APSMediaPlayer.h"
#import "APSVASTMediaBuilderPlugin.h"
创建一个新的APSMediaBuilder实例,并根据需要添加插件作为APSMediaUnit
APSMediaBuilder *builder = [[APSMediaBuilder alloc] init];
[builder addPlugin:[[APSVASTMediaBuilderPlugin alloc] init]];
可选地,将APSMediaUnit的debugMode标志设置为YES以启用控制台记录
builder.debugMode = YES;
将媒体播放器添加到一个视图中
[APSMediaPlayer sharedInstance].view.frame = CGRectMake(5, 5, 310, 450);
[self.view addSubview:[APSMediaPlayer sharedInstance].view];
下一步是为播放器创建一个APSMediaUnit
播放列表。这是builder
对象所做的工作;它就像一个可配置的APSMediaUnit
和APSMediaOverlay
工厂。可以通过指定指向JSON配置文件的URL或在NSDictionary
容器中提供类似的配置结构来完成配置。
由于远程配置涉及网络请求的过程,因此构建器公开了异步配置方法
[builder configureFromURL:[NSURL URLWithString:@"http://example.com/player.json"] onComplete:^ {
// TODO: Request and play media units here
}];
在这个点上,构建器已配置好,并能够生成一个用于播放的媒体单元数组。然而,在请求单位时,像APSVASTMediaBuilderPlugin
这样的插件需要进行额外的网络请求以工作。因此,又一次,有了一个异步的单位检索方法
[builder configureFromURL:[NSURL URLWithString:@"http://example.com/player.json"] onComplete:^ {
[builder requestMediaUnitsWithCompletionBlock:^(NSArray *units) {
[[APSMediaPlayer sharedInstance] playMediaUnits:units];
}];
}];
在最后执行块中,我们指示播放器使用通过JSON输入远程配置的最终生成的媒体单元数组开始播放
有关所有可用配置选项和示例的说明,请参阅本指南。
APSMediaPlayer允许开发者创建自己的、通过JSON或字典配置的覆盖。要创建一个自定义覆盖
UIViewController
的子类。self.overlay.parameters
访问在JSON或NSDictionary配置中定义的配置参数。您还可以使用self.overlay.parentUnit
访问有关当前正在运行的单元的信息。APSMediaPlayerOverlayControllerProtocol
以获取完整列表。将新创建的类注册到播放器
[[APSMediaPlayer sharedInstance] registerClass:[CLASSNAME class] inGroup:kAPSMediaPlayerOverlayControllersGroup type:@"TYPE"];
您可以通过在JSON配置文件的controls
部分的组件数组中添加chromecast
来启用Chromecast播放。
{
"content": [
"url": "http://......",
"autoplay": true,
"controls": {
"components": [
"playback",
"totalTime",
"slider",
"currentTime",
"chromecast"
]
}
]
}
此外,您还可以通过将APSCastChromecastControl添加到APSMediaUnit
的controlsParameters
属性来进行程序化配置
unit.controlsParameters = @{kAPSControlsComponents: @(APSPlaybackControl|APSCurrentTimeControl|APSTimeSliderControl|APSTotalTimeControl|APSChromecastControl|APSFullScreenControl)};
APSMediaPlayer支持Marlin DRM,使用ExpressPlay提供的SDK。要安装
将以下行添加到Podfile
pod "VeeplayMarlinManager"
如果在没有CocoaPods的情况下安装,从存储库中获取最新的静态库和头文件。
导入VeeplayMarlinManager头文件
#import "VeeplayMarlinManager.h"
实例化一个Marlin管理器对象并将它注册到播放器
VeeplayMarlinManager *marlinManager = [[VeeplayMarlinManager alloc] init];
[[APSMediaPlayer sharedInstance] registerUnitManager:marlinManager];
将APSMediaUnit
对象的managerType
属性设置为@"marlin"
。
metadata
字典中的kAPSMetadataDrmUrl
键设置为许可证文件字符串URL。要从JSON配置,设置drm_encoding_url
元数据键。程序化配置单元
APSMediaUnit *unit = [[APSMediaUnit alloc] init];
unit.url = [NSURL URLWithString:@"http://url.to/your-protected-media"];
unit.managerType = kVeeplayMarlinDRMEncoding;
unit.metadata = [NSMutableDictionary dictionaryWithDictionary: @{ kAPSMetadataDrmUrl: @"http://url.to/marlin-broadband-key" }];
从JSON配置单元
{
"url": "http://url.to/your-protected-media",
"manager": "marlin",
"metadata": {
"drm_encoding_url": "http://url.to/marlin-broadband-key"
}
}
查看完整的类参考此处。
在这里查看一个展示代码示例的项目,这些示例涵盖了各种播放场景此处。
如果您已安装CocoaPods,可以在您的Terminal中输入pod try Veeplay
来立即查看Veeplay播放器的演示。
APSMediaPlayer依赖于以下捐赠许可的pods安装作为依赖项
Appscend Video Solutions GmbH
商业许可证。请联系[email protected]。