关于C#:导出QTMovie的最佳方法,音频中具有淡入和淡出

关于C#:导出QTMovie的最佳方法,音频中具有淡入和淡出

Best way to export a QTMovie with a fade-in and fade-out in the audio

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

  • 使用较新的音频上下文插入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的所有功能。


    推荐阅读