Swift 3 Mac OS 将音频文件复制到 NSPasteboard

标签 swift audio nspasteboard

我正在尝试将音频文件复制到 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/

相关文章:

arrays - 使用http请求填充UIPickerView数据

Java如何编写128kbps的wav文件

windows - 我在哪里可以找到默认的 Windows 10 音频驱动程序?

cocoa - 为什么是-[NSPasteboard writeObjects :] returning NO for an array of NSURL objects?

macos - 在 OS X 中从剪贴板获取文件路径

cocoa - 复制 NSTextView 文本

ios - UIViewController 中的 UINavigationController 以编程方式在类中

swift - 单击键盘中的返回键时 UITextField 如何移动到下一个 TextField

android - 在iPhone/Android上播放声音

swift - 如何运行 shell 命令并让它在命令运行时打印输出?