我正在尝试将音频文件复制到 NSPasteboard,以便可以将其粘贴到计算机上的其他位置或粘贴到 Ableton 或 Pro Tools 等其他程序中。这是我获取文件 url 的方法。 (转换为字符串后的示例 url 为: file:///Users/ben/Music/Ableton/User%20Library/Vox.wav )
let url = directoryItems?[tableview.selectedRow].url
let urlString = (url?.absoluteString)! as String
let pb = NSPasteboard.general()
let pasted = pb.writeFileContents(urlString)
它没有被复制到粘贴板(粘贴设置为 false),并且我找不到任何讨论将音频文件写入 NSPasteboard 的资源。任何帮助将不胜感激。
编辑:
我还尝试使用 url 而不是字符串,并得到了相同的结果
let pb = NSPasteboard.general()
let pasted = pb.writeObjects([url as! NSPasteboardWriting])
最佳答案
要以可将文件粘贴到 Finder 的方式复制文件,您需要一个文件 URL,而不是字符串。
至于将音乐复制到音乐编辑器中,大概您需要自己将音乐文件加载为某种可以粘贴到该编辑器中的波形格式。
关于Swift 3 Mac OS 将音频文件复制到 NSPasteboard,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42895804/