在 Mac 应用程序中使用 AVPlayer 可以全屏播放文件夹中的随机视频,但当我尝试播放 .vob 文件或 .mpg 文件时,我只会看到黑屏,黑屏的持续时间与视频持续时间一样长。
AVFoundation 不支持从这些容器播放吗?我认为既然它们可以用普通的 QuickTime Player 来播放,那么它们也可以用 AVPlayer 来运行。
The AVURL资产类 https://developer.apple.com/library/mac/documentation/AVFoundation/Reference/AVURLAsset_Class/Reference/Reference.html有一个静态方法,您可以查询支持的视频 UTI:
+ (NSArray *)audiovisualTypes
在 10.9.1 上,它返回这些系统定义的 UTI:
- 公共.mpeg
- 公共.mpeg-2-视频
- 公共.avi
- 公共.aifc-音频
- 公共.aac-音频
- 公共.mpeg-4
- 公共音频
- 公共.aiff-音频
- 公共.mp2
- 公共.3gpp2
- 公共.ac3-音频
- 公共.mp3
- public.mpeg-2-传输流
- 公共.3gpp
- 公共.mpeg-4-音频
这是一个系统性尿路感染的解释 https://developer.apple.com/library/mac/documentation/Miscellaneous/Reference/UTIRef/Articles/System-DeclaredUniformTypeIdentifiers.html。所以看来至少应该支持 .mpg 容器。
根据维基百科 http://en.wikipedia.org/wiki/Comparison_of_container_formats、.mpg 文件可以包含 MPEG-1 或 MPEG-2 视频,但仅支持 MPEG-2 视频。所以也许这就是文件加载但没有显示任何内容的原因。
QuickTime 内部使用QTM电影现代化者 https://developer.apple.com/library/mac/documentation/QTKit/Reference/QTMovieModernizer_Class/Reference/Reference.html为了以传统格式播放视频(如中所述本次 WWDC 会议 http://asciiwwdc.com/2013/sessions/606),所以也许你可以研究一下。它甚至有一个方法来确定文件是否需要现代化:
+ requiresModernization:error:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)