问题原因
其实道理很简单,因为FFmpeg本身的头文件已经声明了AVMediaType
这一枚举类型,如果再在Xcode工程里引入AVFoundation.framework
框架的话,AVFoundation
本身也声明了一个AVMediaType
的枚举。这就导致了编译出错。
解决方案
既然已经知道为什么会编译不过了,要解决这个编译问题,只能改代码,由于iOS的SDK是无法修改的,我们只能从FFmpeg的源码着手。
这里就不上图了,很简单。
- FFmpeg源码里面有一个 AVFoundation.m 的文件,这里面的
AVMediaType
相关的内容不需要更改。 - FFmpeg其它文件中出现过
AVMediaType
的地方全部改成你自己喜欢的声明。