在此处使用Mac应用程序中的AVPlayer可以从文件夹全屏播放随机视频,但是当我尝试播放.vob文件或.mpg文件时,我只会得到黑屏,只要视频持续播放就可以了。
AVFoundation是否不支持从这些容器中回放?我认为,由于它们可以与库存的QuickTime Player一起播放,因此它们也可以与AVPlayer一起使用。
最佳答案
AVURLAsset class具有静态方法,您可以查询支持的视频UTI:
+ (NSArray *)audiovisualTypes
在10.9.1上,它返回以下系统定义的UTI:
public.mpeg
public.mpeg-2-video
public.avi
公共音频
公共音频
public.mpeg-4
公共音频
公共音频
public.mp2
public.3gpp2
public.ac3-audio
public.mp3
public.mpeg-2-transport-stream
public.3gpp
public.mpeg-4-音频
这是一个explanation of system UTIs。因此,似乎至少应该支持.mpg容器。
According to wiki ,. mpg文件可以包含MPEG-1或MPEG-2视频,但仅支持MPEG-2视频。所以也许这就是为什么文件加载但什么都不显示的原因。
QuickTime内部使用QTMovieModernizer来播放旧格式的视频(如this WWDC session中所述),因此也许您可以对此进行研究。它甚至具有确定文件是否需要更新的方法:
+ requiresModernization:error: