集成Vitamio,实现媒体播放(附电视播放Demo)
来源:互联网 发布:色情网络免费青青在线 编辑:程序博客网 时间:2024/04/29 04:45
集成包下载地址:https://github.com/yixia/VitamioBundle
首先介绍一下Vitamio:Vitamio SDK for iOS 是炫一下官方推出的 iOS 平台上使用的软件开发工 具包(SDK), 为 iOS 开发者提供简单, 快捷的接口, 帮助开发者实现 iOS 平台上的媒体 播放应用.(注:Vitamio也有安卓版,感兴趣的自己去官网看安卓版的集成文件。)
功能说明: 本地全媒体格式支持, 并对主流的媒体格式(mp4, avi, wmv, flv, mkv, mov, rmvb 等 )进行优化;支持广泛的流式视频格式, HLS, RTMP, HTTP Rseudo-Streaming 等;性能强大, 资源CPU/内存占用率低, 充分利用 iPhone/iPod Touch/iPad 视频硬解能力;API 简单易用, 可扩展, 高度灵活.
Vitamio 完整下载包解压缩后的目录结构:
- Vitamio/ 该目录存放 Vitamio SDK 的头文件和静态库(.a)文件.- Doc/ 该目录存放用户手册和类参考文档.- Demo/ 该目录主要存放1个iOS示例工程, 用于帮助开发都快速了解如何使用SDK.
下载完SDK包后进行新建项目然后进行项目的配置:
1、首先选择 Build Settings | Linking | Other Linker Flags
, 将该选项的 Debug/Release
键都配置为 -ObjC
.
2、然后导入所依赖的库:
- AVFoundation.framwork 音视频播放基本工具- AudioToolbox.framwork 音频控制API- CoreGraphics.framwork 轻量级2D渲染API- CoreMedia.framwork 音视频低级API- CoreVideo.framwork 视频低级API- Foundation.framwork 基本工具- MediaPlayer.framwork 系统播放器接口- OpenGLES.framwork 3D图形渲染API- QuartzCore.framwork 视频渲染输出需要- UIKit.framwork 界面API- libbz2.dylib 压缩工具- libz.dylib 压缩工具- libstdc++.dylib C++标准库- libiconv.dylib 字符编码转换工具
3、将下载的SDK包导入到项目中。
然后就可以撸代码了。
首先要遵循一个协议VMediaPlayerDelegate
协议。 然后使用单例类 VMediaPlayer
的类方法 +sharedInstance
获取播放器共享实例, 然后调用实例 方法 -setupPlayerWithCarrierView:withDelegate:
来注册使用播放器.
例:
_vPlay = [VMediaPlayer sharedInstance]; [_vPlay setupPlayerWithCarrierView:self.view withDelegate:self];
另外说明:
对于已导入到应用文档目录的媒体文件, 可以用如下方法获取其路径:
NSString *docDir = [NSString stringWithFormat:@"%@/Documents", NSHomeDirectory()];NSString *videoUrl = [NSString stringWithFormat:@"%@/%@", docDir, @"demo.mkv"];
对于网络视频流地址, 可以直接使用:
NSString *videoUrl = @"http://meta.video.qiyi.com/242/de25dc2b5d385a8e27304d1e6dcd1a35.m3u8"
然后给播放器传入要播放的视频URL, 并告知其进行播放准备:
NSURL *vUrl = [NSURL URLWithString:_playUrl]; [_vPlay setDataSource:vUrl header:nil]; [_vPlay prepareAsync];
最后实现代理方法:
// 当'播放器准备完成'时, 该协议方法被调用, 我们可以在此调用 [player start]// 来开始音视频的播放.- (void)mediaPlayer:(VMediaPlayer *)player didPrepared:(id)arg{ [player start];}// 当'该音视频播放完毕'时, 该协议方法被调用, 我们可以在此作一些播放器善后// 操作, 如: 重置播放器, 准备播放下一个音视频等- (void)mediaPlayer:(VMediaPlayer *)player playbackComplete:(id)arg{ [player reset];}// 如果播放由于某某原因发生了错误, 导致无法正常播放, 该协议方法被调用, 参// 数 arg 包含了错误原因.- (void)mediaPlayer:(VMediaPlayer *)player error:(id)arg{ NSLog(@"NAL 1RRE &&&& VMediaPlayer Error: %@", arg);}
在停止使用播放器时应该取消注册播放器:
[_vPlay unSetupPlayer];
以上是大体的集成过程,具体详细的的请看官方的demo。
附:电视播放Demo
github下载地址:https://github.com/goingmyway1/TVPlayer
以上如果有错,请留言指出,谢谢。
- 集成Vitamio,实现媒体播放(附电视播放Demo)
- Android媒体播放demo
- 【媒体应用:Android平台Vitamio播放器探索之路系列】之七:Vitamio 项目集成常见错误汇总
- Android视频播放框架Vitamio集成及使用MediaPlayer+SurfaceView、VideoView+MediaController实现播放网络视频
- android 视频开发 集成vitamio 播放rtsp m3u8 视频 有图有demo
- 集成Vitamio的视频播放器
- Vitamio 播放器的集成和自定义
- Android之集成万能播放器Vitamio
- 视频播放器(vitamio)
- 安卓视频播放器的实现(基于vitamio)
- Android 使用Vitamio实现播放视频(一)
- Android 使用Vitamio实现播放视频(一)
- 【媒体应用:Android平台Vitamio播放器探索之路系列】之一:Vitamio开篇
- 【媒体应用:Android平台Vitamio播放器探索之路系列】之三:Vitamio API:provider
- 【媒体应用:Android平台Vitamio播放器探索之路系列】之四:Vitamio API:widget
- 【媒体应用:Android平台Vitamio播放器探索之路系列】之五:Vitamio API:activity
- 【媒体应用:Android平台Vitamio播放器探索之路系列】之六:Vitamio API:utils
- 在互动电视业务中获取媒体当前播放时间
- 【studio】整理了下studio中make Project、clean Project、Rebuild Project的区别
- java web文件下载通用controller
- Linux shell ${}简单用法
- Android Studio StrictMode
- iOS textView
- 集成Vitamio,实现媒体播放(附电视播放Demo)
- redhat 安装图形化界 和配置ios挂载yum源
- 如何使用CubeMx制作一个基于SD卡的文件系统工程
- Leetcode-74. Search a 2D Matrix
- oracle索引总结
- 【LitJson】如何判断字符串中是否有某个key
- android 数据库升级
- Android性能优化典范
- 1.1 起步 - 关于版本控制