我正在寻找iPhone上MPMoviePlayerController的替代品。作为视频播放器,其功能非常有限。例如,根据class reference,无法获得当前的播放时间或设置新的时间。这只是游戏和停止。
是否有适用于iPhone视频播放的中间件解决方案可提供更多功能? CRI has something in development但尚未发布。我找不到任何其他东西。
感谢。
答案 0 :(得分:3)
请记住,即使项目是GPL,也不意味着您无法联系作者关于底层代码的LGPL选项。
可能的解决方案是使用openGL作为视频的合成表面,如果需要处理特定的视频类型,可以获得像ffmpeg这样的幕后库。
NeHe有一个将AVI渲染为openGL的例子:http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=35
FFMpeg最近被移植到iPhone并且是基于LGPL的产品:http://geek.thinkunique.org/2008/03/05/ffmpeg-on-the-iphone/
(注意:关于LGPL在iPhone上的商业用途存在一些争议,因为当提到iPhone不允许的图书馆链接时,许可证引用了“动态”这个短语。我没有看到任何项目团队对他们的静态地在iPhone上使用的代码,但您应该直接与作者联系以获得澄清。)
另一个(虽然是GPL)版本的OpenGL视频播放器是:http://code.google.com/p/glover/
你通过这样的解决方案获得的基本上是对iPhone / Mac / CALayer特定技术细节的绕过,并通过OpenGL利用现有的视频知识库虽然不广泛,但仍然得到广泛支持。
如果您正在处理特定的视频样式,那么您可能希望查看是否可以直接从供应商处获取特定视频格式的库,而不是使用FFMpeg等多用途工具。合成工作完成后,视频可以来自大多数图书馆。
巴尼
答案 1 :(得分:2)
您可以使用AVPlayer
。见the documentation
然后,您可以使用currentTime
获取当前播放时间,并使用seekToTime:
搜索指定的时间。
您必须将AVPlayer
实例的可视输出定向到AVPlayerLayer
对象(CALayer
的子类)。请参阅first listing here。
答案 2 :(得分:0)
VLC已ported to iPhone但未使用官方SDK。