iOS实现基于VLC播放器的封装效果
前言:
在一些特定场景下,我们获取到的音视频,由于格式比较特殊,用avplayer等播放器是无法播放的,此时,我们可以借助强大的VLC播放器来处理。
原理这里不再赘述,下面我们讲一下如何添加VLC播放器代码。
封装功能:
1、视频播放、暂停、重播
2、视频快进、快退(进度条和手势)
3、音量和亮度的调节
效果图:

正文:
1、首先我们需要vlc的Framework,最简单的就是pod获取
platform:ios,'8.0' use_frameworks! pod 'MobileVLCKit'
如果不想通过pod,我这里有我们团队自己打包的库,只有100多M。
下载地址: https://pan.baidu.com/s/1hsgVDrA
添加完项目,我们需要记得add到 Embedded Binaries

注意!!!:
由于github限制大于100M文件上传,Demo里的VLC测试模块的Framework被移除了,运行可能报错。
大家需要先下载下来,添加到项目里,再运行Demo。
2、添加依赖库

大概是以上这些,当然实际使用上,我们遵循多添少补原则~
PS:如果是Swift项目,需要在桥接文件(xxx-bridging-Header)里添加引用
#import <DynamicMobileVLCKit/VLCMediaPlayer.h>
OC项目在使用类文件里正常添加就行了
3、大概的代码结构如下,比较简单清晰

代码使用:


代理事件方法:

4、Demo获取:

点击红框就是了
5、最后补充一点,这个vlc库是包含【x86-64 i386】模拟器架构的,如果上传遇到如下错误:
Unsupported Architecture. Your executable contains unsupported architecture '[x86_64, i386]
就是说明vlc库是没有去除模拟器架构的,如果需要这个库
可以点击这里下载(和上面的库是一样的,只是去除了模拟器架构)
enjoy~
iOS实现基于VLC播放器的封装效果的更多相关文章
- Android VLC播放器二次开发1——程序结构分析
最近因为一个新项目需要一个多媒体播放器,所以需要做个视频.音频.图片方面的播放器.也查阅了不少这方面的资料,如果要从头做一个播放器工作量太大了,而且难度也很大.所以最后选择了VLC作为基础,进行二次开 ...
- Android VLC播放器二次开发3——音乐播放(歌曲列表+歌词同步滚动)
今天讲一下对VLC播放器音频播放功能进行二次开发,讲解如何改造音乐播放相关功能.最近一直在忙着优化视频解码部分代码,因为我的视频播放器需要在一台主频比较低的机器上跑(800M主频),所以视频解码能力受 ...
- vlc 播放器的点播和广播服务
vlc 是一个开源的,同时跨平台的播放器.在研究 rtsp 协议时发现,它同时还是一个强大的流媒体服务器 VLM VLM(VideoLAN Manager) 在 vlc 中是一个小型的媒体管理器,它能 ...
- 使用vlc播放器做rtsp流媒体服务器
可参考: 使用vlc播放器播放rtsp视频 web网页中使用vlc插件播放相机rtsp流视频 使用vlc进行二次开发做自己的播放器 首先需要安装vlc播放器,下载及安装步骤略 使用vlc播放器做rts ...
- 使用vlc播放器播放rtsp流视频
可参考: 使用vlc播放器做rtsp服务器 web网页中使用vlc插件播放相机rtsp流视频 使用vlc进行二次开发做自己的播放器 首先需要安装vlc播放器,下载及安装步骤略 使用vlc播放器播放rt ...
- centos7安装VLC播放器
centos7安装VLC播放器 1.安装eple 下载地址:https://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noar ...
- Centos 上使用mmsh协议听猫扑网络电台 VLC播放器
Centos 上使用mmsh协议听猫扑网络电台 VLC播放器 安装CentOS已经有一段时间了,但是由于在Linux下除了学习,其他是事情都干不了.今天想闲来无事开了CentOS就想听一下歌,突然想起 ...
- Ubuntu安装VLC播放器
Ubuntu安装VLC官方介绍:http://www.videolan.org/vlc/download-ubuntu.html sudo apt-get update sudo apt-get in ...
- Android VLC播放器二次开发2——CPU类型检查+界面初始化
上一篇讲了VLC整个程序的模块划分和界面主要使用的技术,今天分析一下VLC程序初始化过程,主要是初始化界面.加载解码库的操作.今天主要分析一下org.videolan.vlc.gui.MainActi ...
随机推荐
- 弹出层框架layer快速使用
layer官方及演示文档:layer官方及演示文档 1.将layer整个放入工程内. 2.文件内引入layer.js, <script type="text/javascript&qu ...
- python用post访问restful服务接口
具体代码如下: import requests import json data={"]} url="http://XXXXX" data_json = json.dum ...
- 【Spark】Spark-foreachRDD需要注意的问题
Spark-foreachRDD需要注意的问题 dstream.foreachRDD_百度搜索 通过Spark Streaming的foreachRDD把处理后的数据写入外部存储系统中 - 吾心光明 ...
- viso-实现文本编辑
选定主控件中所有的元素,然后选择[形状]-[组合] 然后右键[格式]-[行为] 按照如下设置,确定,保存就可以了
- Centos6.4下安装mysql5.6.10
今天下午捣腾安装mysql和apache.从网上下载mysql5.6.10,http://ishare.iask.sina.com.cn/f/36050990.html,解压后发现没有configur ...
- linux命令学习——tar
tar命令用来处理压缩,压缩和解压.在linux上经常遇到tar命令,总结如下: tar-c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件这五个是独 ...
- 简单实现http proxy server怎么实现?
原文:https://blog.csdn.net/dolphin98629/article/details/54599850 简单实现http proxy server怎么实现?
- RAMPS1.4 3d打印控制板接线与测试1
1.需要下载的软件 1.1 固件上传工具--Arduino IDE 这是上传固件的必备工具,有了这个软件让上传固件变的容易很多,插上USB,就可以轻松上传. 下载地址:windows版本:http:/ ...
- 如何拷贝一个wchar_t类型的字符串
Do this, wchar_t clone[260]; wcscpy(clone,szPath); Or, if you want to allocate memory yourself, wcha ...
- mybaits动态SQL中的DECIMAL
数据库:mysql数据库字段类型:decimal(11,2)java程序类型:java.math.BigDecimal 使用mybatis的动态语句 <if test ="money! ...