
在ViewController.m 文件里面寫
import "Vitamio.h"
@interface ViewController ()<VMediaPlayerDelegate>
{
VMediaPlayer *mMPayer;
}
@property (nonatomic, copy) NSURL *videoURL;
@end
@implementation ViewController
-
(void)viewDidLoad {
[super viewDidLoad];
NSString *videoUrl = @"XXX.m3u8";UIView * view = [[UIView alloc]initWithFrame:CGRectMake(10, 100, self.view.frame.size.width - 20, 200)];
view.backgroundColor = [UIColor yellowColor];
[self.view addSubview:view];
mMPayer = [VMediaPlayer sharedInstance];
[mMPayer setupPlayerWithCarrierView:view withDelegate:self];
self.videoURL = [NSURL URLWithString:videoUrl];
[mMPayer setDataSource:self.videoURL header:nil];
[mMPayer prepareAsync];
// 當(dāng)不再使用播放器時, 可以調(diào)用 -unSetupPlayer 實例方法來取消注冊播放器.
// [mMPayer unSetupPlayer];
}
// 當(dāng)'播放器準備完成'時, 該協(xié)議方法被調(diào)用, 我們可以在此調(diào)用 [player start]
// 來開始音視頻的播放.
- (void)mediaPlayer:(VMediaPlayer *)player didPrepared:(id)arg
{
[player start];
}
// 當(dāng)'該音視頻播放完畢'時, 該協(xié)議方法被調(diào)用, 我們可以在此作一些播放器善后
// 操作, 如: 重置播放器, 準備播放下一個音視頻等 - (void)mediaPlayer:(VMediaPlayer *)player playbackComplete:(id)arg
{
[player reset];
}
// 如果播放由于某某原因發(fā)生了錯誤, 導(dǎo)致無法正常播放, 該協(xié)議方法被調(diào)用, 參
// 數(shù) arg 包含了錯誤原因. - (void)mediaPlayer:(VMediaPlayer *)player error:(id)arg
{
NSLog(@"NAL 1RRE &&&& VMediaPlayer Error: %@", arg);
}
創(chuàng)建單獨類 BPG_Vitamio 繼承UIView
.h文件
import <UIKit/UIKit.h>
import "Vitamio.h"
@interface BPG_Vitamio : UIView<VMediaPlayerDelegate>
-(void)initWithFrame:(CGRect)frame AndDetegate:(id<VMediaPlayerDelegate>)detegate AndVideoUrl:(NSString *)url;
-(void)UnSetupPlayer;
@end
在.m文件寫
import "BPG_Vitamio.h"
@interface BPG_Vitamio ()
{
VMediaPlayer *mMPayer;
}
@end
@implementation BPG_Vitamio
-(void)initWithFrame:(CGRect)frame AndDetegate:(id<VMediaPlayerDelegate>)detegate AndVideoUrl:(NSString *)url
{
mMPayer = [VMediaPlayer sharedInstance];
[mMPayer setupPlayerWithCarrierView:self withDelegate:detegate];
[mMPayer setDataSource:[NSURL URLWithString:url] header:nil];
[mMPayer prepareAsync];
}
// 當(dāng)不再使用播放器時, 可以調(diào)用 -unSetupPlayer 實例方法來取消注冊播放器.
-(void)UnSetupPlayer
{
[mMPayer unSetupPlayer];
}
// 當(dāng)'播放器準備完成'時, 該協(xié)議方法被調(diào)用, 我們可以在此調(diào)用 [player start]
// 來開始音視頻的播放.
- (void)mediaPlayer:(VMediaPlayer *)player didPrepared:(id)arg
{
[player start];
}
// 當(dāng)'該音視頻播放完畢'時, 該協(xié)議方法被調(diào)用, 我們可以在此作一些播放器善后
// 操作, 如: 重置播放器, 準備播放下一個音視頻等 - (void)mediaPlayer:(VMediaPlayer *)player playbackComplete:(id)arg
{
[player reset];
}
// 如果播放由于某某原因發(fā)生了錯誤, 導(dǎo)致無法正常播放, 該協(xié)議方法被調(diào)用, 參
// 數(shù) arg 包含了錯誤原因. - (void)mediaPlayer:(VMediaPlayer *)player error:(id)arg
{
NSLog(@"NAL 1RRE &&&& VMediaPlayer Error: %@", arg);
}
@end