MobileVLCKit框架的使用和一些方法

作者: 星彬 | 来源:发表于2017-06-11 22:57 被阅读1880次

前几天突然心血来潮想做一个视频播放器,但是系统自带的播放框架什么的太麻烦,所以找了好久的框架。都快找的懵逼了,才终于决定选MobileVLCKit了。

这个框架如果自己下载下来,自己编译在加进项目的话,估计够呛,我弄了半天果断放弃了。

推荐使用cocoa pods来导入框架
下面我们就该下载安装cocoa pods了。
我安装成功的那篇教程忘记保存没找到了,找了一个差不多的别人的教程
连接:http://blog.csdn.net/ada_dengpan/article/details/50612735

估计安装cocoa pods报错:安装CocoaPods报SSL在深度2验证错误:无法获取本地发行者证书

终端:sudo gem install -n/usr/local/bin cocoa pods

然后在下一步终端: pod setup 配置下就ok了
进入工程目录:命令窗口输入 vim Podfile
然后在Podfile里输入***
platform:ios, '10.2' pod 'MobileVLCKit', '~> 2.2.2' target 'ceshias' do end
ceshias改成你的工程名称;
终端:pod install

基本到这里估计你已经把框架导入成功了。
导入之后记得添加一下依赖:

libstdc++.6.0.9.tbd libiconv.2.tbd libc++.1.tbd libz.1.tbd libbz2.1.0.tbd
下面说怎么使用了

简单的播放

创建对象
VLCMediaPlayer  * _player = [[VLCMediaPlayer alloc] initWithOptions:nil];
设置承载播放视频的view
UIView *playView= =[[UIView alloc]initWithFrame:self.view.frame];
[self.view addSubview:playView];
把view设置给_player
 _player.drawable =playView;
设置播放地址(url)
_player.media=[VLCMedia mediaWithURL:[NSURL URLWithString:@"http://edge.ivideo.sina.com.cn/6265508.flv?KID=sina,viask&Expires=1497283200&ssig=Fm93rOHyRd"]];
播放
[self.player play];
一个简单的播放就完成了,

下面说一些方法

-(BOOL)play; 播放
-(void)pause; 暂停
-(void)stop; 停止

属性:

rate 播放速度(正常速度 1.0)
position 播放位置(可以设置当前位置 最大位置1.0)

它的代理方法:

VLCMediaPlayerDelegate

当时间发生改变时,可以在该方法中去调用获取播放时间和剩余时间
-(void)mediaPlayerTimeChanged:(NSNotification *)aNotification;
当播放状态发生改变时
-(void)changePlayBtnState:(LWBPlayState )state;
实现代理VLCMediaThumbnailerDelegate
获取缩略图:(好像也要等视频开始播放才能获取的到,不然也是空)
  VLCMediaThumbnailer *thumbnailer = [VLCMediaThumbnailer thumbnailerWithMedia:self.player.media andDelegate:self];
开始获取缩略图
[thumbnailer fetchThumbnail];

获取缩略图它会调用下面两个代理方法,需要你自己去实现

获取缩略图超时
-(void)mediaThumbnailerDidTimeOut:(VLCMediaThumbnailer *)mediaThumbnailer;
获取缩略图成功
-(void)mediaThumbnailer:(VLCMediaThumbnailer *)mediaThumbnailer didFinishThumbnail:(CGImageRef)thumbnail;
下面段代码可以获取播放总时长,但是必须在视频播放后去获取,不然得到的是零
获取视频时间

int AllTime = self.player.media.length.intValue;

获取视频剩余时间(获取的是个负数)

int remainTime= self.player.remainingTime.intValue;

获取当前的播放进度

int currentTime = self.player.time.intValue;

MobileVLCKit框架能用到的方法基本这样了

下面说一些获取音量,获取屏幕亮度

音量:
@property(nonatomic,strong)MPVolumeView * volumeView;
@property(nonatomic,strong) UISlider* volumeViewSlider;

_volumeView =[[MPVolumeView alloc]init];

设置音量大小
_volumeViewSlider.value = 0.5;
for (UIView *view in [_volumeView subviews]){
    if ([view.class.description isEqualToString:@"MPVolumeSlider"]){
        _volumeViewSlider = (UISlider*)view;
        _volumeViewSlider.backgroundColor = [UIColor yellowColor];
        break;
    }
}

要间接创建volumeViewSlider,因为根本不能直接创建。只能从MPVolumeView里面获取
然后你就可以直接volumeViewSlider的value属性调节音量了

屏幕亮度:[UIScreen mainScreen].brightness=0.5;
brightness属性调节屏幕亮度

好了到就说到这里了,在多的估计我也不知道了,能帮到大家我感觉非常的荣幸!写的不好的话,希望大家不要介意,谢谢。
下面这个是我对MobileVLCKit进行了下封装
http://git.oschina.net/baisekongjian/iosmobilevlckitdemo

89B96827-6576-49C5-B135-DCCFBA1EFD63.png
该Demo进行了二次封装 有以下接口 本项目在MobileVLCKit框架上进行了二次封装 有以下接口
  • 播放、暂停、停止
  • 设置当前播放位置
  • 设置播放速度
  • 开始播放视频时回调接口
  • 获取缩略图接口
  • 播放状态改变时接口
  • 播放时间改变时接口
  • 播放的视频总时长
  • 视频下载功能接口
  • 读取已下载的视频功能接口
  • 音量调节方法(真机测试才可以看到效果)
  • 屏幕亮度调节方法(真机同上)
  • 视频的快进和后退方法
  • 自动横竖屏
  • 强制横竖屏方法(必须把自动横竖屏标记设置为yes);
  • 支持本地播放和网络播放 本地播放设置ptah路径 网络播放设置url路径

相关文章

  • MobileVLCKit框架的使用和一些方法

    前几天突然心血来潮想做一个视频播放器,但是系统自带的播放框架什么的太麻烦,所以找了好久的框架。都快找的懵逼了,才终...

  • FFmepg和VLC冲突问题

    使用FFmpeg和VLC的同学要注意了,MobileVLCKit内部重写了一个系统方法clock_gettime,...

  • VLC 框架的使用及问题

    集成MobileVLCKit 框架,简单的说。 使用 VLC 获取视频第一帧图片,其实这个在下载库里的 demo ...

  • MobileVLCKit 使用记录

    MobileVLCKit:基于FFmpeg,Live555提供完整的媒体播放库,支持CocoaPods导入库,开发...

  • iOS的MobileVLCKit框架播放SMB协议视频的问题

    MobileVLCKit是开源播放器VLC的iOS平台框架,在Mac OS上也有对应的VLCKit,搞直播的同学应...

  • androidRapid框架的使用方法

    上篇博文介绍了androidRapid的框架结构,使用技术,这里再介绍下具体的使用方法, 因封装了一些基类和工具类...

  • GreenDao的更新无效

    近期因为需要本地缓存一些数据,故使用到了第三方框架GreenDao,该框架的使用方法在此不做赘述,此篇只记录使用g...

  • Quartz2D - 1

    开源框架CorePlot oc oc使用方法: Swift swift 使用context的方法:

  • ios15之MobileVLCKit的简单使用

    ios15之MobileVLCKit的简单使用 pod 加入 最终实现效果图,部分源码 git地址https://...

  • iOS - js oc相互调用

    首先导入 JavaScriptCore.framework 框架 使用: 方法名 和 mobileObj 必须和j...

网友评论

    本文标题:MobileVLCKit框架的使用和一些方法

    本文链接:https://www.haomeiwen.com/subject/qrlkqxtx.html