导出带有音频淡入和淡出功能的QTMovie的最佳方法

时间:2020-03-05 18:44:35  来源:igfitidea点击:

我想拿一个我拥有的QTMovie并将其导出,并在预定的时间内将音频淡入淡出。我想尽可能地在可可中做到这一点。电影可能仅包含音频。我的研究发现了两种可能性:

  • 使用较新的音频上下文插入API。 http://developer.apple.com/DOCUMENTATION/QuickTime/Conceptual/QT7-2_Update_Guide/NewFeaturesChangesEnhancements/chapter_2_section_11.html。这似乎是实现此目的最现代的方法。
  • 使用Quicktime音频提取API提取电影的音轨并对其进行处理,然后将处理后的音频放回电影中,以替换原始音频。

我是否缺少一些更简单的方法?

解决方案

回答

Quicktime具有Tween轨道的概念。补间轨道是允许我们修改另一组轨道属性(例如音量)的属性的轨道。

请参阅Quicktime文档中的创建补间音轨,以获取有关如何使用Quicktime音轨的音量执行此操作的示例。

Apple Developer网站上还有一个更完整的示例,称为qtsndtween。

当然,所有这些代码都需要使用Quicktime C API。如果我们可以构建仅32位的应用程序,则可以分别使用"电影","跟踪"或者"媒体"功能从QTMovie,QTTrack或者QTMedia对象获取基础的Quicktime-C句柄。

希望我们会在下一个版本的QTKit中获得Quicktime C API的所有功能。