Используйте SoundTouch Framework в Swift

Подскажите, пожалуйста, как использовать инфраструктуру SoundTouch в проекте Swift для iOS для определения BPM? Я перепробовал все с Bridging Headers и так далее, но я не могу заставить его работать... Спасибо!

3 ответа

Если вам все еще нужно использовать SoundTouch в вашем проекте iOS, я поделился репозиторием GitHub с библиотеками, скомпилированными для armv7, armv7s, arm64, i386 а также x86_64

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

Чтобы внедрить эту скомпилированную библиотеку в ваш проект, вы должны добавить каталог SoundTouch (который включает libSoundTouch.a и каталог с заголовками) в ваш проект Xcode.

В SWIFT вы не можете импортировать.h, поэтому вам нужно будет создать.h файл с именем <Your-Project-Name>-Bridging-Header-File.hЗатем укажите его в настройках сборки вашего проекта (в разделе "Компилятор Swift" найдите "Objective C Bridging Header") с помощью:

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

И теперь вы должны быть в состоянии использовать класс SoundTouch.

Библиотека soundtouch изначально написана на C++, которую Swift не будет компилировать.

Даже с обновленной библиотекой soundtouch библиотека не будет компилироваться в проекте Swift без упаковщиков Objective-C, которые позволят Swift получить доступ к методологии.

Использование связующего заголовка действительно будет включать библиотеку soundtouch, но проект просто не будет компилироваться там после.

Если вы хотите использовать 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)
Другие вопросы по тегам