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.好啦,废话太多了。直接上代码
下载好的framework拖入工程声明属性并创建一个VLC对象(可别忘了#import<MobileVLCKit/MobileVLCKit.h>)
@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,哈哈!!!)
VLC的播放方法5.如果没有声音大家可以加上那么一段代码, 确定后台已经推声音的流媒体了,否则真是大坑(记得引入AVFoundation框架)
AVAudioSession *session = [AVAudioSession sharedInstance];
[session setCategory:AVAudioSessionCategoryPlayback error:nil];
[session setActive:YES error:nil];
6.VLC的基本使用已经差不多,这是大鹏的使用心得。有什么问题欢迎来我的iOS开发群163619240进行交流。