iOS开发之VLC直播

作者: li大鹏 | 来源:发表于2016-05-30 15:52 被阅读2216次

    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进行交流。

    相关文章

      网友评论

      • TimeToDo:你好,大兄弟,为什么我老崩溃呢

      • 我想走走:哥, VLC直播有demo吗,能给一份吗

      本文标题:iOS开发之VLC直播

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