使用IOS进行时间拉伸和音高变换

2vi*_*on2 6 iphone openal core-audio audiounit ios

简而言之: 如何在iOS中进行时间拉伸和音高转换?

详细地:

我想做什么?

应用程序显示视频缩略图的用户选择一定范围内的帧从视频文件.

我要申请的坡道缓莫,选定的持续时间或帧的视频.

Ramp Slow Mo:动态地延长(时间拉伸+音高变化).我必须在一个for循环中改变时间和音高,比如10次迭代.它只不过是英文字母"U"的行为.所以,我会增加时间和音调并减少它们.

我怎么尝试:

  1. 查找用户所选视频的开始/结束时间.
  2. 通过AVFoundation Mutable Composition分别分割视频和音频.
  3. 对于视频:在开始/结束时间之间的持续时间应用时间延长.*没问题*,它正如我所期待的那样发生.
  4. 对于音频:时间伸缩和音高动态转移,这也是所选择的时间帧.我正在使用狄拉克.现在,我想使用IOS SDK本身.
  5. 合并音频和视频将慢速文件作为文件发布并存储.

分析:

到目前为止,我发现OpenAlAudio Units(单独使用AUVarispeed或者同时使用AUTimePitchTime Rate)可以提供帮助.分割视频和音频后,我将使用OpenAL或Audio Units继续进行音频URL.

我的问题:

  1. 任何人都可以帮助我避免狄拉克(参考子弹4)?那么如何动态地进行时间拉伸和音高变换呢?
  2. 如何*仅对选定的帧*(在开始和结束时间之间)?
  3. 我不确定如何*AVFoundataion的*URL 与OpenAL或Audio Unit的缓冲区结合起来,在慢动作效果之后,如何最终与AVFoundation的视频参考URL合并

任何类型的参考或样本代码都有很大帮助.