我在模拟器上运行导出,一切都很好。我在设备上运行它,视频导出但没有音频。这使我相信我必须使用设备不支持的音频格式,但OS X会使用,因为模拟器使用OS X使用的。我已经尝试过m4a,aiff和aifc并且没有运气!任何想法??
答案 0 :(得分:0)
我有一个非常类似的问题。它似乎与编解码器没有关系,因为我制作了一个单独的测试用例,可以使用相同的视频运行良好。有一个related question表示问题可能在于使用MPMoviePlayerController
播放相同的资源。这让我走上正轨(有点)。
在我的情况下,问题源于在导出过程中使用AVPlayer
中的资产。我无法找到导致导出丢弃音频轨道的确切组合 - 在单独的测试项目中,即使资产同时在AVPlayer
中播放,导出也会正常运行。经过几个小时试图找到确切的原因后,我放弃了,只是在导出过程中使用replaceCurrentItemWithPlayerItem:nil
将资源弹出播放器。这是一个黑客,但它的确有效。
AVFoundation
是一个非常强大的框架,但上帝我希望它不是那么挑剔,或者至少记录更多的错误,而不是默默地产生垃圾。