KalturaPlayerSDK 2.6.12

KalturaPlayerSDK 2.6.12

测试已测试
Lang语言 Obj-CObjective C
许可 自定义
发布最后发布2018年3月

Noam TamimOren MelamedNilit DananKaltura 开源Kaltura维护。



  • Eliza Sapir和Nissim Pardo

原生iOS Player SDK

注意:Kaltura Player SDK的新版本(V3)将很快提供测试版。新SDK完全原生,并引入了重大性能改进。

如果您计划基于SDK开始新项目,您可能需要等待新版本。

Kaltura player-sdk-native组件可以嵌入到原生应用程序以及混合原生应用程序中(通过标准动态嵌入语法)

  • 内嵌播放,带有HTML控件(广告等期间禁用控件)
  • Widevine DRM支持
  • 自动播放
  • 音量控制
  • 全功能player.kaltura.com主题和插件集
  • DFP IMA SDK

关于原生嵌入优势的完整列表,请参阅播放器工具基本使用指南中的原生控件表格。

Kaltura player-sdk-native组件可以嵌入到原生应用程序和混合原生应用程序中

未来的支持将包括

  • PlayReady DRM
  • 多流播放
  • 离线观看

目录

入门

KalturaPlayerSDK可以在几分钟内(如果操作非常快,可能只需几秒钟)添加到任何项目(无论大小)。完全支持CocoaPods。

SDK传统安装

git clone https://github.com/kaltura/player-sdk-native-ios.git

将静态库的.xcodeproj添加到应用程序项目中

  1. Finder的子项目文件夹中找到KALTURAPlayerSDK.xcodeproj,并将其拖入Xcode的导航器树中。或者,你也可以通过Xcode文件菜单中的添加文件选项来添加它。

alt text

请确保只添加KALTURAPlayerSDK.xcodeproj文件,而不是整个目录。如果同一项目在两个不同的Xcode窗口中打开,你将无法打开它。如果发现无法在库项目中导航,请检查是否在另一个Xcode窗口中打开它。添加子项目后,它应该出现在Xcode的导航器树中的主项目下方。

alt text

配置应用程序目标以构建静态库目标。

  1. 你需要让主项目构建并将链接到KALTURAPlayerSDK库。
  2. 在主项目应用程序的目标设置中,找到构建阶段部分。这里你可以配置KALTURAPlayerSDK目标,以确保自动构建并将其链接到KALTURAPlayerSDK库。
  3. 找到构建阶段部分后,打开目标依赖关系块,并点击加号按钮。在你提供的层次结构中,你应该会看到来自KALTURAPlayerSDK项目的KALTURAPlayerSDK目标。选择它,并点击添加alt text

配置应用程序目标以链接到静态库目标。

  1. 在构建应用程序时,需要将其设置为链接到库,就像你想要使用系统框架那样。在大约目标依赖关系下方找到链接二进制与库部分,并在此处也点击加号。在列表顶部,应该有由主项目目标生成的静态库libKALTURAPlayerSDK.a。选择它,并点击添加alt text
  2. 由于我们使用Objective-C,我们不得不向主项目应用程序的目标添加一些链接器标志,以确保像我们这样的ObjC静态库可以正确链接。在主项目目标的构建设置中,找到其他链接器标志行,并添加-ObjCalt text

添加资源包

  1. 从目标部分选择应用程序目标。
  2. 前往 产品 文件夹,并将 KALTURAPlayerSDK.bundle 拖到 复制资源包 部分。alt text

** 如果您现在单击构建,您将看到 PlayerSDK 库在主项目应用程序构建之前构建,并且它们是链接在一起的。**

所需框架

• SystemConfiguration
• QuartzCore
• CoreMedia
• AVFoundation
• AudioToolbox
• AdSupport
• WebKit
• Social
• MediaAccessibility
• libSystem.dylib
• libz.dylib
• libstdc++.dylib
• libstdc++.6.dylib
• libstdc++.6.0.9.dylib
• libxml2.dylib
• libxml2.2.dylib
• libc++.dylib

*如果您正在使用 Xcode 7,请注意将扩展名 "dylib" 改为了 "tbd"。

使用 Kaltura 播放器

将 KPViewController 导入主项目

#import <KALTURAPlayerSDK/KPViewController.h>

创建 KPViewController 实例

@property (retain, nonatomic) KPViewController *player;

初始化 PlayerViewController 以全屏播放

- (KPViewController *)player {
    if (!_player) {
        // Account Params
        KPPlayerConfig *config = [[KPPlayerConfig alloc] initWithDomain:@"http://cdnapi.kaltura.com"
                                           uiConfID:@"26698911"
                                           partnerId:@"1831271"];


    // Video Entry
    config.entryId = @"1_o426d3i4";

        // Setting this property will cache the html pages in the limit size
        config.cacheSize = 100; // MB
        _player = [[KPViewController alloc] initWithConfiguration:config];
    }
    return _player;
}

- (void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];

    [self presentViewController:self.player animated:YES completion:nil];
}

初始化 PlayerViewController 以嵌入式播放

- (KPViewController *)player {
    if (!_player) {
        // Account Params
        KPPlayerConfig *config = [[KPPlayerConfig alloc] initWithDomain:@"http://cdnapi.kaltura.com"
                                           uiConfID:@"26698911"
                                           partnerId:@"1831271"];


        // Video Entry
        config.entryId = @"1_o426d3i4";

        // Setting this property will cache the html pages in the limit size
        config.cacheSize = 0.8;
        _player = [[KPViewController alloc] initWithConfiguration:config];
    }
    return _player;
}

- (void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];
    self.player.view.frame = (CGRect){0, 0, 320, 180};
    [self.player loadPlayerIntoViewController:self];
    [self.view addSubview:_player.view];
}

链接 GoogleCast

链接到 “GoogleCast.framework”

  1. 转到目标 -> 构建阶段 -> 链接二进制与库,点击 +添加其他...
  2. 转到 PlayerSDK 文件夹,您会看到其中包含 GoogleCast.framework,选择它并点击 -打开_. alt text

链接 GoogleAds

链接到 GoogleInteractiveMediaAds SDK

  1. 如果您使用广告,您必须从: Admob 下载 GoogleMobileAds 并将其添加到您的项目中
  2. 除了 GoogleMobileAds 之外,您还应从: IMA SDK 下载 GoogleInteractiveMediaAds,如果您打算除了 IMA SDK 之外还使用 Admob,请将 GoogleInteractiveMediaAds-GoogleIMA3ForAdMob 添加到您的项目中,如果您打算仅使用 IMA SDK,请将 GoogleInteractiveMediaAds-GoogleIMA3 添加到您的项目中。
  3. GoogleMobileAds 的所需框架
    • StoreKit.framework
    • EventKit.framework
    • EventKitUI.framework
    • CoreTelephony.framework
    • MessageUI.framework

故障排除

  • 如果您正在使用 Xcode 7,您需要更改启用 Bitcode 选项。(请参阅此 链接

  • 如果您收到以下输出

    WebKit 在 webView:decidePolicyForNavigationAction:request:frame:decisionListener: 代理中丢弃了一个未捕获的异常

    您必须配置一个名为 NSAppTransportSecurity 的 Cocoa 键(请参阅此 链接

许可和版权信息

除非特定库在适用库路径中指定了不同许可,否则所有 player-sdk-native-ios 代码均采用 AGPLv3 许可发布