使用 aubio 读取文件时,在 Swift 的 ExtAudioFileOpenURL 中获取错误代码('wht?')

Posted

技术标签:

【中文标题】使用 aubio 读取文件时,在 Swift 的 ExtAudioFileOpenURL 中获取错误代码(\'wht?\')【英文标题】:Getting error code ('wht?') in ExtAudioFileOpenURL in Swift when using aubio to read file使用 aubio 读取文件时,在 Swift 的 ExtAudioFileOpenURL 中获取错误代码('wht?') 【发布时间】:2016-08-10 09:18:19 【问题描述】:

我正在使用 aubio 来分析音频文件,但是当我尝试像这样使用函数 new_aubio_source 时:

let source = new_aubio_source(StringToUnsafeMutablePointerChar_t(url.absoluteString), 0, 512)

我总是遇到这些错误。

AUBIO ERROR: source_apple_audio: Failed opening file:///var/mobile/Containers/Data/Application/C11B42E5-02B5-4373-8302-0728B2CB2296/Documents/music.m4a, error in ExtAudioFileOpenURL ('wht?')
AUBIO ERROR: source_wavread: Failed opening file:///var/mobile/Containers/Data/Application/C11B42E5-02B5-4373-8302-0728B2CB2296/Documents/music.m4a (System error: No such file or directory)
AUBIO ERROR: source: failed creating aubio source with file:///var/mobile/Containers/Data/Application/C11B42E5-02B5-4373-8302-0728B2CB2296/Documents/music.m4a at samplerate 0 with hop_size 512

我 100% 确定路径是正确的,但我就是不知道为什么会出现这些错误。我认为问题出在第一条错误消息(source_apple_audio)中。

source_apple_audio 在这里定义:

source_apple_audio

其中使用了这个函数:ExtAudioFileOpenURL,得到了错误码('wht?')

非常感谢您的帮助!

【问题讨论】:

虽然这个问题很老了,但文件系统url的路径是url.path而不是url.absoluteString 【参考方案1】:

你在删除前导file://时是否也有这个问题?

请open a new issue。

【讨论】:

是的,这就是解决方案! 对我来说,这是通过将 let fileURL = URL(fileURLWithPath: filePath) 替换为 let fileURL = URL(string: filePath) 来完成的

以上是关于使用 aubio 读取文件时,在 Swift 的 ExtAudioFileOpenURL 中获取错误代码('wht?')的主要内容,如果未能解决你的问题,请参考以下文章

如何在不使用 Aubio 的情况下获得 .wav 文件的平均音高?

在 Xcode 中使用 Aubio 的乐谱

os x lion中的aubio python绑定

aubio 是不是可以为 iPhone/Android/ARM 交叉编译? [关闭]

为python安装最新版本的aubio

如何使用 Swift 3 Playground 读取 Resources 目录中的文本文件?