在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];
// 当不再使用播放器时, 可以调用 -unSetupPlayer 实例方法来取消注册播放器.
// [mMPayer unSetupPlayer];
}
// 当'播放器准备完成'时, 该协议方法被调用, 我们可以在此调用 [player start]
// 来开始音视频的播放.
- (void)mediaPlayer:(VMediaPlayer *)player didPrepared:(id)arg
{
[player start];
}
// 当'该音视频播放完毕'时, 该协议方法被调用, 我们可以在此作一些播放器善后
// 操作, 如: 重置播放器, 准备播放下一个音视频等 - (void)mediaPlayer:(VMediaPlayer *)player playbackComplete:(id)arg
{
[player reset];
}
// 如果播放由于某某原因发生了错误, 导致无法正常播放, 该协议方法被调用, 参
// 数 arg 包含了错误原因. - (void)mediaPlayer:(VMediaPlayer *)player error:(id)arg
{
NSLog(@"NAL 1RRE &&&& VMediaPlayer Error: %@", arg);
}
创建单独类 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];
}
// 当不再使用播放器时, 可以调用 -unSetupPlayer 实例方法来取消注册播放器.
-(void)UnSetupPlayer
{
[mMPayer unSetupPlayer];
}
// 当'播放器准备完成'时, 该协议方法被调用, 我们可以在此调用 [player start]
// 来开始音视频的播放.
- (void)mediaPlayer:(VMediaPlayer *)player didPrepared:(id)arg
{
[player start];
}
// 当'该音视频播放完毕'时, 该协议方法被调用, 我们可以在此作一些播放器善后
// 操作, 如: 重置播放器, 准备播放下一个音视频等 - (void)mediaPlayer:(VMediaPlayer *)player playbackComplete:(id)arg
{
[player reset];
}
// 如果播放由于某某原因发生了错误, 导致无法正常播放, 该协议方法被调用, 参
// 数 arg 包含了错误原因. - (void)mediaPlayer:(VMediaPlayer *)player error:(id)arg
{
NSLog(@"NAL 1RRE &&&& VMediaPlayer Error: %@", arg);
}
@end