MusicSequenceFileLoad 在 Playgrounds 中有效,但在 Project 中无效
Posted
技术标签:
【中文标题】MusicSequenceFileLoad 在 Playgrounds 中有效,但在 Project 中无效【英文标题】:MusicSequenceFileLoad Works in Playgrounds but not in Project 【发布时间】:2018-02-11 08:46:38 【问题描述】:我做错了什么?
我正在尝试打开一个 MIDI 文件并读取它的内容。到目前为止,我可以在操场上打开文件,但我的项目中出现“Open::fopen failed”
override func viewDidLoad()
super.viewDidLoad()
let path = NSURL.fileURL(withPath: "/users/me/file.mid")
var midfile: MusicSequence?
NewMusicSequence(&midfile)
MusicSequenceFileLoad(midfile!, path as CFURL, .midiType , .smf_ChannelsToTracks)
我确实有导入 AudioToolbox 和 CoreMIDI
编辑:一些进展 我可以使用 CFBundleCopyResourceURL 从捆绑包中打开 MIDI 文件,但我希望能够从 finder 中的任何位置打开文件
fileManager 也失败了,它在项目中使用时返回 nil 并在游乐场中工作。
【问题讨论】:
【参考方案1】:想通了。
代码失败,因为应用程序在沙盒中运行并且无法访问 NSURL
【讨论】:
以上是关于MusicSequenceFileLoad 在 Playgrounds 中有效,但在 Project 中无效的主要内容,如果未能解决你的问题,请参考以下文章
为啥“#define WC(p) L#p”在 GCC 和 Clang 中不起作用?
p:Column 复合元素不会在 p:DataExporter 中导出
如何或有可能在 Coq 中证明或证伪 `forall (P Q : Prop), (P -> Q) -> (Q -> P) -> P = Q.`?