iOS FFmpeg XCode编译报错问题 AVMediaType

975 阅读1分钟

问题原因

其实道理很简单,因为FFmpeg本身的头文件已经声明了AVMediaType这一枚举类型,如果再在Xcode工程里引入AVFoundation.framework框架的话,AVFoundation本身也声明了一个AVMediaType的枚举。这就导致了编译出错。


解决方案

既然已经知道为什么会编译不过了,要解决这个编译问题,只能改代码,由于iOS的SDK是无法修改的,我们只能从FFmpeg的源码着手。

这里就不上图了,很简单。

  1. FFmpeg源码里面有一个 AVFoundation.m 的文件,这里面的AVMediaType相关的内容不需要更改。
  2. FFmpeg其它文件中出现过AVMediaType的地方全部改成你自己喜欢的声明。