直播Vitamio的简单使用

7D7C2E0E-FD07-40DB-A986-C7D69007D94B.png

在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

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

推荐阅读更多精彩内容