VVMoviePlayer 2.1.1

VVMoviePlayer 2.1.1

测试已测试
语言语言 Obj-CObjective C
许可 Apache 2
发布最新发布2015年5月

Chris AllenBen Askren维护。



  • VolarVideo, Inc

Volar Video iOS SDK

此 SDK 包含一个用于播放由 VolarVideo CMS 管理的实时/存档广播的控件,以及一个用于访问 Volar 系统管理的内容的 API 封装器。有关 SDK 的详细文档可以在此处找到。关于此项目的实现示例,请参阅 DemoApp 文件夹。

包含 SDK

包含 SDK 的一种简单方法是使用 CocoaPods。它负责处理 所有必需的框架和第三方依赖项

pod 'VVMoviePlayer'

或者,您也可以通过以下步骤手动安装它

  1. VVMoviePlayer 目录复制到您的项目目录中。
  2. 打开您的项目设置,转到“构建阶段”选项卡。在“与二进制链接库”部分点击“+”。在弹出的窗口中点击底部的“添加另一个”并选择 libVVMoviePlayer.a 库文件。

    此外,VVMoviePlayer 需要以下原生 iOS 框架

    • CoreLocation.framework
    • Security.framework
    • CFNetwork.framework
    • libicucore.lib
    • MapKit.framework
    • libxml2.dylib
    • EventKitUI.framework
    • EventKit.framework
    • CoreMedia.framework
    • AVFoundation.framework
    • libz.dylib
    • SystemConfiguration.framework
    • MediaPlayer.framework
    • ImageIO.framework
    • MessageUI.framework
    • QuartzCore.framework
    • UIKit.framework
    • Foundation.framework
    • CoreGraphics.framework Example
  3. 将以下内容添加到您的应用的“构建设置”中的“其他链接器标志”:-all_load -ObjC

上述 libVVMoviePlayer.a 包含 libPusher-1.6 及其依赖项(SocketRocketReactiveCocoa)。如果您已经在使用这些依赖项之一,则需要使用 libVVMoviePlayer-no-deps.a 并链接到任何缺少的库

在 iOS 8 上配置您的应用以使用 GPS

SDK需要访问设备的GPS,以显示可能在某些世界区域受阻的内容。从iOS 8开始,需要在请求用户授权访问其位置时显示一些说明文本。不幸的是,唯一指定它的方式是在您的应用的Info.plist文件中。SDK在应用处于前台时请求获取设备的地理位置权限。这需要为键NSLocationWhenInUseUsageDescription设置一个字符串值。此外,如果您希望相同的消息在之前的iOS版本上显示,可以为键NSLocationUsageDescription设置一个字符串值。更多信息可以在此处找到[链接]。以下是一个推荐示例

Example

使用SDK

创建一个VVMoviePlayerViewController实例非常快速和简单。以下是一个示例

VVMoviePlayerViewController *mpvc;
mpvc = [[VVMoviePlayerViewController alloc] initWithExtendedVMAPURIString:vmapURI];

查询内容

要查询VolarVideo CMS上的内容,您需要使用VVCMSAPI类。有两种方式来实例化此类以进行认证查询。首选且更推荐的方法是使用API密钥。有关如何创建API用户的详细描述,请参阅此处。以下是在代码中的示例

NSString *API_KEY = @"<your api key>";
VVCMSAPI *api = [[VVCMSAPI alloc] initWithDomain:@"vcloud.volarvideo.com" apiKey:API_KEY];

另一种实例化方法是使用用户名和密码,如下所示

VVCMSAPI *api = [[VVCMSAPI alloc] initWithDomain:@"vcloud.volarvideo.com" username:@"[email protected]" password:@"password"];

现在,您已经有一个VVCMSAPI实例,查询数据变得容易。只需向任何方法提供一个VVCMSAPIDelegate实例来处理响应。以下是一个查询存档播放内容的示例,共20个结果每页,查询第3页

BroadcastParams *params = [[BroadcastParams alloc] init];
params.status = VVCMSBroadcastStatusArchived;
params.page = [[NSNumber alloc] initWithInt:3];
params.resultsPerPage = [[NSNumber alloc] initWithInt:20];
[api requestBroadcasts:params usingDelegate:delegate];

对应的代理方法如下

- (void)VVCMSAPI:(VVCMSAPI *)vvapi requestForBroadcastsResult:(NSArray *)broadcasts
    withStatus:(VVCMSBroadcastStatus)status page:(int)page totalPages:(int)totalPages
    totalResults:(int)totalResults error:(NSError *)error {

    // We're not guaranteed to be called on the thread the request was made from
    dispatch_async(dispatch_get_main_queue(), ^(void){
          if(error) {
              // handle error
              return;
          }

          // process data
    });
}

移动网页启动

VolarVideo CMS允许您将移动应用注册为从移动浏览器启动。请遵循此处的步骤进行设置。在这个过程中,您将选择一个自定义URL令牌。打开项目设置,转到“Info”选项卡。在URL类型部分,点击“+”。选择一个标识符(通常是您的捆绑ID)并将URL方案设置为上一步中的URL令牌。以下是一个示例,其中令牌设置为mytoken

Example

在您的AppDelegate中,您可以通过添加以下方法检测网页启动并检索视频URL

- (BOOL) application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
    NSString *vmapURI = [url description];

    // Use vmapURI when creating your VVMoviePlayerViewController

    return YES;
}