我正在使用一个视频编辑器,可以在视频旁边导入和显示照片。我会拍摄导入的照片,并用3帧制作出10秒钟的视频。电影开始时为1帧,5秒为1帧,10秒为1帧。导入照片的速度非常快,并且在iOS 10上运行良好。我刚刚打开该应用程序,并尝试在iOS 11上运行它,并且照片轨道以0.2帧速率播放,而不是AVVideoComposition设置的30 fps。就像AVVideoComposition如果轨道的帧速率较小,则忽略其帧持续时间属性。例如,如果某个轨道具有30 fps,并且我将AVVideoComposition的帧时长设置为10 fps,则该轨道将按预期的速度以10 fps播放。但是,如果音轨具有10 fps,并且我将AVVideoComposition的帧持续时间设置为30 fps,则该音轨仍将仅以10 fps的速度播放。在我看来,Apple尝试进行优化以最小(AVVideoComposition.frameDuration,1 / AVAssetTrack.nominalFrameRate)播放视频。
过去,您可以将AVVideoComposition.frameDuration设置为30fps,并且每个音轨都将以30fps的速度播放。似乎不再是那样了。这是一个问题,原因是我在屏幕上移动了轨道并应用了动画效果,并且要获得平滑的动画,它需要更新30fps,而不是我得到的0.2。
有人遇到过这个问题吗,或者这是苹果公司的设计决定,我们需要找到解决该问题的另一种方法吗?