iOS AUSampler audiounit - EXS 音频文件的文件路径问题?
Posted
技术标签:
【中文标题】iOS AUSampler audiounit - EXS 音频文件的文件路径问题?【英文标题】:iOS AUSampler audiounit - file path issue with EXS audio files? 【发布时间】:2014-01-30 21:48:17 【问题描述】:按照 Apple 文档 here 我已经能够通过在我的应用程序目录中重新创建例如以下路径,成功地将 GarageBand EXS 采样器乐器加载到我的 ios 应用程序中的 AUSampler:
/Sampler Files/Funk Horn Section/nameofaudio.aif
iOS 在以下目录中查找音频文件:
file:///Library/Application%20Support/GarageBand/Instrument%20Library/Sampler/Sampler%20Files/Funk%20Horn%20Section/'
但是,当我创建自己的 EXS 文件时,这不起作用。如果 GarageBand,它如何知道删除文件路径的第一部分?我什至尝试过创建我的 EXS 乐器,甚至在同一个 GarageBand 目录中创建,但没有区别:
Failed to locate sample '001%20VirusTI%20-%20SeaThr%2314A1B3.aif -- file:///macSSD/Library/Application%20Support/GarageBand/Instrument%20Library/Sampler/Sampler%20Files/VirusTI%20-%20SeaThreeHS%20v2/'
我也尝试使用文本编辑器手动编辑 exs 文件中的文件路径,但没有任何效果。
EXS 乐器在逻辑上表现良好。但我的应用找不到它。
非常感谢任何帮助。
【问题讨论】:
您是否尝试将其放入 app bundle 中? 【参考方案1】:这里的关键是您的源采样器文件必须引用来自任何这些“触发器”目录结构的样本才能正常工作:
"/声音/" “/采样器文件/” “/苹果循环/” "/EXS 工厂样品/" "/SoundFont 示例/"
您的示例必须存在于包含其中一个触发器的目录路径中,然后该路径必须与您的捆绑包中的完全相同。 iOS 会查找其中一个触发器,然后删除之前的所有内容,并将其用作捆绑包中的新搜索路径来查找您的示例。 这很棘手,但如果您确保一切都井井有条,它将以这种方式工作。
我对此进行了斗争,因为我的样本存储在没有任何这些关键字的地方,因此它永远找不到它们。
【讨论】:
苹果文档的链接:developer.apple.com/library/content/technotes/tn2283/… 该链接并没有真正指定那些确切的目录。它只是说两个平台上的目录必须相同。因此,您在 iOS 中的示例路径必须与构建仪器的 macOS 机器(EXS24 实例)的路径相匹配。我已经使用将样本存储在“basicSamples”中的仪器验证了这一点,在 Sounds 目录中。 EXS 可以毫无问题地找到它们,如果我使用“EXS Factory Samples”,无法找到它们。以上是关于iOS AUSampler audiounit - EXS 音频文件的文件路径问题?的主要内容,如果未能解决你的问题,请参考以下文章
iOS:当前 AVAudioPlayer 的 AudioUnit