轻骑兵播放器集成用例

做视频开发的作者最近看到网上出现一个叫轻骑兵播放器的SDK,研究了下发现API很简洁,调用蛮方便的,关键还是免费使用。便在其官网注册个账号,下载了SDK,准备做一个小DEMO看看性能,因为该SDK才推出不久,网上还没看到方法用例,作者就分享下自己的集成过程。

1.创建工程

589aee26b941bd2225000000.png

2.添加SDK

在官网下载SDK,是一个动态库framework,需要用Embedded Binaries加到工程


589aee85b941bd2225000001.png

3.添加必要的framework

589aeecab941bd2225000002.png

4.注册应用

589aef41b941bd2225000003.png
589aef6cb941bd2225000004.png

5.APP启动注册SDK

在AppDelegate.m文件中输入key和用户名

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    [Hussar key:@"C5l3F7NTcSND3IzpSSKagMyfJPfRvOMa/yr3LgltFykTyRi57MVEGovyQR4=" UserName:@"demo@demo.com"];
    
    return YES;
}

6.播放器调用代码

//
//  ViewController.m
//  TestHussar
//
//  Created by Tester on 2017/1/22.
//  Copyright © 2017年 Hussar. All rights reserved.
//

#import "ViewController.h"
#import <HussarPlayerFramework/HussarFramework.h>

@interface ViewController ()<HussarPlayerViewControllerDelegate>

@property (nonatomic, strong) HussarPlayerViewController *player;
@property (weak, nonatomic) IBOutlet UIView *playerview;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
}

- (void)viewDidAppear:(BOOL)animated{
    [super viewDidAppear:animated];
    [self playURL:[NSURL URLWithString:@"http://120.25.226.186:32812/resources/videos/minion_01.mp4"]];
}

- (void)playURL:(NSURL *)url{
    self.player = [[HussarPlayerViewController alloc]initWithURL:url];
    self.player.delegate = self;
    self.player.view.frame = self.playerview.bounds;
    [self.playerview addSubview:self.player.view];
}

- (void)dealloc{
    [self.player stop];
}

#pragma mark - HussarPlayerViewControllerDelegate
/**
 已加载完毕事件
 */
- (void) onPrepared{
    NSLog(@"onPrepared");
}

/**
 开始渲染第一帧事件
 */
- (void) onRenderStart{
    NSLog(@"onRenderStart");
}

/**
 开始播放事件
 */
- (void) onStart{
    NSLog(@"onStart");
}

/**
 暂停播放事件
 */
- (void) onPause{
    NSLog(@"onPause");
}

/**
 开始缓冲事件
 
 @param type HussarBufferType 卡顿类型
 */
- (void) onBufferingStart:(HussarBufferType)type{
    NSLog(@"onBufferingStart");
}

/**
 缓冲中事件
 
 @param percent 缓冲百分比
 */
- (void) onBuffering:(int)percent{
    NSLog(@"onBuffering");
}

/**
 缓冲结束事件
 */
- (void) onBufferingEnd{
    NSLog(@"onBufferingEnd");
}

/**
 seek结束事件
 
 @param position seek到最新的位置
 */
- (void) onSeekComplete:(int)position{
    NSLog(@"onSeekComplete");
}

/**
 播放完成事件
 */
- (void) onCompletion{
    NSLog(@"onCompletion");
}

- (void)updateHussarTime{
    NSLog(@"updateHussarTime:%f,%f",self.player.playbackTime,self.player.duration);
}

/**
 播放报错信息
 
 @param what 错误主类
 @param extra 错误详细类别
 @return 是否需要停止播放,仅对非严重错误有效
 */
- (BOOL) onError:(int)what Extra:(int)extra{
    NSLog(@"onError");
    return NO;
}

/**
 按钮事件回调
 
 @param buttonEvent 按钮类型
 @param info 按钮附带信息
 */

- (void)hussarPlayerButtonEvent:(HussarPlayerButtonEvent)buttonEvent Info:(NSDictionary *)info{

}

@end

7.运行APP

589af07ab941bd2225000005.png

8.数据分析

播放数据分析是该平台为用户准备的另一大特色,方便个人开发者统计分析播放相关数据

WX20170215-142054.png

9.总结

相较于ijkplayer这样的播放器,轻骑兵播放器更容易上手,且增加了后台数据分析功能,为开发者省去了很多麻烦,值得推荐下。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 做视频开发的作者最近看到网上出现一个叫轻骑兵播放器的SDK,研究了下发现API很简洁,调用蛮方便的,关键还是免费使...
    小郭程序阅读 473评论 0 0
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,202评论 25 708
  • 音频 AudioBus:下一代 App 到 App 的实时音频路由。官网 AudioKit:一个强大的音频合成,处...
    voQuan阅读 5,142评论 5 63
  • 今年20了(啦),总觉得“了”和“啦”是有区别的,“啦”比“了”听起来更要轻快一些。对于成长还有所期待的人,...
    沁雅阁阅读 322评论 2 6
  • 《风和雨》 文/洪小兰 一阵暖暖的风 吹不开满天乌云 雨恋上了暖风 随之而来 风夹着雨 阻隔了孩子上学的路 ...
    洪小兰阅读 379评论 2 0