【发布时间】:2023-12-15 20:32:01
【问题描述】:
我在对 Apple 提供的用于显示 AVMutableComposition 的示例进行 swift 2 转换时遇到了问题。如果您尝试可视化您的 AVComposition 以查看引擎盖下可能发生的情况,这是一个非常有用的项目。
更新:与 Obj-C 项目相比,我向每个函数添加了打印语句,以查看它们被调用的顺序以及调用它们的人。
我看到的两个问题似乎非常重要:
synchronizePlayerWithEditor()在 buildTransitionComposition(_:andVideoComposition:andAudioMix:) 之后没有被调用observeValueForKeyPath(_:...)的调用顺序与 Obj-C 项目不同
在此处发布 sn-p 以获取调用函数,因为它很有用
Obj-C
NSLog(@"%d %s %@", __LINE__, __PRETTY_FUNCTION__, [[NSThread callStackSymbols] objectAtIndex:1]);
斯威夫特
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 代码中的某些内容,尽管我目前并不完全确定。
【问题讨论】:
标签: ios swift swift2 avfoundation avmutablecomposition