CoreAudio的首选语言

时间:2016-08-11 14:10:06

标签: ios objective-c swift macos core-audio

我开始在Swift中尝试CoreAudio以及“学习CoreAudio”。用Objective-C编写的例子。我注意到使用Swift和CoreAudio有点尴尬......

例如,我必须使用奇怪的UnsafeMutablePointer struct来处理指针,CoreAudio中有很多指针......在设置和获取属性时,您经常使用sizeof()但是sizeof()会返回Int,并且属性获取和设置功能需要UInt32,所以我必须执行类似UInt32(sizeof(variable.dynamicType))的操作才能使用此功能并且更加奇怪事情继续......

所以我开始考虑是否可以在Obj-C中编写Core Audio代码并在Swift中编写所有应用程序UI?使用Obj-C而不是Swift,我会遇到任何性能瓶颈吗?或者为了兼容性和性能,我应该坚持使用Swift吗?

1 个答案:

答案 0 :(得分:1)

核心音频是一种基于C的API,所以它可能会觉得与objC混合起来不那么尴尬。

然而,你可以编写一个符合你需求的高级ObjC包装器,意思是完成你期望从CoreAudio获得的所有东西,然后通过添加一个桥来在快速项目中使用它。性能打击将是荒谬的(我知道苹果说快速执行比objC快,但这是低水平所以它将是无害的。