iOS开发之VLC直播

1.VLC的介绍

VLC Media Player (VideoLAN) 为 Windows、Linux、OS X、Android、iOS、Windows Phone等平台提供一个视频播放器、解码器。它可以播放来自网络、摄像头、磁盘、光驱的文件,支持包括MPEG 1/2/4, H264, VC-1, DivX, WMV, Vorbis, AC3, AAC等格式的解码。在 Windows 和 Linux 上的 VLC 是使用C++/Qt写成,提供了一致的用户体验。同时 VLC 还专门为 OS X 提供了原生版本,OS X 版的 VLC 的用户界面使用Cocoa框架编写,在 OS X 下拥有卓越的原生体验。

2.准备工作

VLC优秀的封装,源码中最核心的部分,被封装成了独立的库,基于FFmpeg,Live555提供完整的媒体播放库,你只需要定制自己的界面,支持CocoaPods导入库,开发一个简单界面的播放器,你只需要几行代码,几乎覆盖所有媒体格式!http://www.videolan.org/vlc/download-ios.html

3.好啦,废话太多了。直接上代码

iOS开发之VLC直播_第1张图片
下载好的framework拖入工程

声明属性并创建一个VLC对象(可别忘了#import

@property (nonatomic, strong)VLCMediaPlayer *mediaPlayer;

设置要播放的url(推流地址)

NSString *url = VLCmediaURL;

NSMutableDictionary *mediaDictonary = [NSMutableDictionary new];

self.mediaPlayer = [[VLCMediaPlayer alloc] init];

//设置缓存多少毫秒

[mediaDictonary setObject:@"300" forKey:@"network-caching"];

//加载url

VLCMedia *media = [VLCMedia mediaWithURL:[NSURL URLWithString:url]];

[media addOptions:mediaDictonary];

//设置代理(遵守当前VLCMediaDelegate协议)

self.mediaPlayer.delegate = self;

self.mediaPlayer.media = media;

//自带的drawable属性设置播放界面大小(当然你也可以自定义)

self.mediaPlayer.drawable = self.movieView;

4. VLC API给我们提供的播放暂停的一系列方法(万事具备,只差play,哈哈!!!)

iOS开发之VLC直播_第2张图片
VLC的播放方法

5.如果没有声音大家可以加上那么一段代码, 确定后台已经推声音的流媒体了,否则真是大坑(记得引入AVFoundation框架)

AVAudioSession *session = [AVAudioSession sharedInstance];

[session setCategory:AVAudioSessionCategoryPlayback error:nil];

[session setActive:YES error:nil];

6.VLC的基本使用已经差不多,这是大鹏的使用心得。有什么问题欢迎来我的iOS开发群163619240进行交流。

你可能感兴趣的:(iOS开发之VLC直播)