4

你能告诉我如何在 Swift iOS 项目中使用SoundTouch 框架来检测 BPM 吗?我用桥接头尝试了所有的东西,但我无法让它工作......谢谢!

4

3 回答 3

2

如果您仍然需要它来在您的 iOS 项目中使用 SoundTouch,我已经与为armv7armv7sarm64和编译的库共享了一个 GitHub 存储库i386x86_64

https://github.com/enrimr/soundtouch-ios-library

要在您的项目中实现该编译库,您必须在您的 Xcode 项目中添加 SoundTouch 目录(包括 libSoundTouch.a 和带有头文件的目录)。

在 SWIFT 中,您无法导入 .h,因此您需要创建一个名为<Your-Project-Name>-Bridging-Header-File.h Then 在项目构建设置中引用它的 .h 文件(在“Swift Compiler”下查找“Objective C Bridging Header”):

$(SRCROOT)/<Your-Project-Name>-Bridging-Header.h

现在您必须能够使用 SoundTouch 类。

于 2015-09-05T15:07:05.290 回答
1

soundtouch 库最初是用 Swift 无法编译的 C++ 编写的。

即使使用更新的 soundtouch 库,如果没有 Objective-C 包装器以允许 Swift 访问该方法,该库也不会在 Swift 项目中编译。

使用桥接头确实会包含 soundtouch 库,但之后项目将不会在那里编译。

于 2016-03-10T11:38:48.213 回答
-1

如果你想在你的项目中使用 Swift,那么我可以建议使用这个库:

https://github.com/Luccifer/BPM-Analyser

guard let filePath = Bundle.main.path(forResource: "TestMusic", ofType: "m4a"),
let url = URL(string: filePath) else {return "error occured, check fileURL"}
BPMAnalyzer.core.getBpmFrom(url, completion: nil)
于 2017-04-12T09:51:42.473 回答