Swift 2 - 可视化 AVMutableComposition 以进行调试:转换 Apple 的 AVCompositionDebugViewer
Swift 2 - Visualizing an AVMutableComposition for Debugging : Converting Apple's AVCompositionDebugViewer
我 运行 我的 swift 2 Apple 提供的用于显示 AVMutableComposition 的示例的转换出现了问题。如果您尝试可视化您的 AVComposition 以查看幕后情况,这将是一个非常有用的项目。
更新: 与 Obj-C 项目相比,我向每个函数添加了打印语句,以查看它们被调用的顺序,以及调用它们的人。
我看到的两个问题似乎非常重要:
synchronizePlayerWithEditor()
在 buildTransitionComposition(_:andVideoComposition:andAudioMix:)
之后没有被调用
observeValueForKeyPath(_:...)
的调用顺序与 Obj-C 项目不同
在此处发布代码片段以获取调用函数,因为它很有用
Obj-C
NSLog(@"%d %s %@", __LINE__, __PRETTY_FUNCTION__, [[NSThread callStackSymbols] objectAtIndex:1]);
Swift
func functionnYouWantToPrintCaller(yourNormalParameters..., function:String = __FUNCTION__){...}
print("\(__LINE__) \(__FUNCTION__) \(function)
这是我正在使用的 Apple 的 AVCompositionDebugViewer 项目:https://developer.apple.com/library/mac/samplecode/AVCompositionDebugViewer
我的 github 回购:
https://github.com/justinlevi/iOSAVCompositionDebugViewerSwift
我 认为 这个问题可能源于 keyValueObservation 代码中的某些东西,尽管我现在还不能完全确定。
问题最终出现在 SimpleEditor.swift
buildCompositionObjectsForPlayback` 方法中。有一些全局变量被错误地定义。
现在一切似乎都在按预期进行。
https://github.com/justinlevi/iOSAVCompositionDebugViewerSwift
我 运行 我的 swift 2 Apple 提供的用于显示 AVMutableComposition 的示例的转换出现了问题。如果您尝试可视化您的 AVComposition 以查看幕后情况,这将是一个非常有用的项目。
更新: 与 Obj-C 项目相比,我向每个函数添加了打印语句,以查看它们被调用的顺序,以及调用它们的人。
我看到的两个问题似乎非常重要:
synchronizePlayerWithEditor()
在 buildTransitionComposition(_:andVideoComposition:andAudioMix:) 之后没有被调用
observeValueForKeyPath(_:...)
的调用顺序与 Obj-C 项目不同
在此处发布代码片段以获取调用函数,因为它很有用
Obj-C
NSLog(@"%d %s %@", __LINE__, __PRETTY_FUNCTION__, [[NSThread callStackSymbols] objectAtIndex:1]);
Swift
func functionnYouWantToPrintCaller(yourNormalParameters..., function:String = __FUNCTION__){...}
print("\(__LINE__) \(__FUNCTION__) \(function)
这是我正在使用的 Apple 的 AVCompositionDebugViewer 项目:https://developer.apple.com/library/mac/samplecode/AVCompositionDebugViewer
我的 github 回购: https://github.com/justinlevi/iOSAVCompositionDebugViewerSwift
我 认为 这个问题可能源于 keyValueObservation 代码中的某些东西,尽管我现在还不能完全确定。
问题最终出现在 SimpleEditor.swift
buildCompositionObjectsForPlayback` 方法中。有一些全局变量被错误地定义。
现在一切似乎都在按预期进行。 https://github.com/justinlevi/iOSAVCompositionDebugViewerSwift