做視頻開(kāi)發(fā)的作者最近看到網(wǎng)上出現(xiàn)一個(gè)叫輕騎兵播放器的SDK聂抢,研究了下發(fā)現(xiàn)API很簡(jiǎn)潔,調(diào)用蠻方便的躁倒,關(guān)鍵還是免費(fèi)使用。便在其官網(wǎng)注冊(cè)個(gè)賬號(hào)洒琢,下載了SDK秧秉,準(zhǔn)備做一個(gè)小DEMO看看性能,因?yàn)樵揝DK才推出不久衰抑,網(wǎng)上還沒(méi)看到方法用例象迎,作者就分享下自己的集成過(guò)程。
1.創(chuàng)建工程
2.添加SDK
在官網(wǎng)下載SDK呛踊,是一個(gè)動(dòng)態(tài)庫(kù)framework砾淌,需要用Embedded Binaries加到工程
3.添加必要的framework
4.注冊(cè)應(yīng)用
5.APP啟動(dòng)注冊(cè)SDK
在AppDelegate.m文件中輸入key和用戶名
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[Hussar key:@"C5l3F7NTcSND3IzpSSKagMyfJPfRvOMa/yr3LgltFykTyRi57MVEGovyQR4=" UserName:@"demo@demo.com"];
return YES;
}
6.播放器調(diào)用代碼
//
// 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");
}
/**
開(kāi)始渲染第一幀事件
*/
- (void) onRenderStart{
NSLog(@"onRenderStart");
}
/**
開(kāi)始播放事件
*/
- (void) onStart{
NSLog(@"onStart");
}
/**
暫停播放事件
*/
- (void) onPause{
NSLog(@"onPause");
}
/**
開(kāi)始緩沖事件
@param type HussarBufferType 卡頓類型
*/
- (void) onBufferingStart:(HussarBufferType)type{
NSLog(@"onBufferingStart");
}
/**
緩沖中事件
@param percent 緩沖百分比
*/
- (void) onBuffering:(int)percent{
NSLog(@"onBuffering");
}
/**
緩沖結(jié)束事件
*/
- (void) onBufferingEnd{
NSLog(@"onBufferingEnd");
}
/**
seek結(jié)束事件
@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);
}
/**
播放報(bào)錯(cuò)信息
@param what 錯(cuò)誤主類
@param extra 錯(cuò)誤詳細(xì)類別
@return 是否需要停止播放,僅對(duì)非嚴(yán)重錯(cuò)誤有效
*/
- (BOOL) onError:(int)what Extra:(int)extra{
NSLog(@"onError");
return NO;
}
/**
按鈕事件回調(diào)
@param buttonEvent 按鈕類型
@param info 按鈕附帶信息
*/
- (void)hussarPlayerButtonEvent:(HussarPlayerButtonEvent)buttonEvent Info:(NSDictionary *)info{
}
@end
7.運(yùn)行APP
8.數(shù)據(jù)分析
播放數(shù)據(jù)分析是該平臺(tái)為用戶準(zhǔn)備的另一大特色,方便個(gè)人開(kāi)發(fā)者統(tǒng)計(jì)分析播放相關(guān)數(shù)據(jù)
9.總結(jié)
相較于ijkplayer這樣的播放器谭网,輕騎兵播放器更容易上手汪厨,且增加了后臺(tái)數(shù)據(jù)分析功能,為開(kāi)發(fā)者省去了很多麻煩愉择,值得推薦下劫乱。