iPhone SDK:如何将从 iPod 库中挑选的音频文件写入我的应用程序的文档文件夹?
Posted
技术标签:
【中文标题】iPhone SDK:如何将从 iPod 库中挑选的音频文件写入我的应用程序的文档文件夹?【英文标题】:iPhone SDK: How can I write an audio file picked from iPod Library into my app's Documents Folder? 【发布时间】:2011-02-23 07:15:32 【问题描述】:如何将从mediaPicker
挑选的音频文件写入我应用的文档文件夹?
基本上我是从 iPod 库中选择一个音频文件。
我希望将此选定的文件复制到我的应用程序的 Documents 文件夹中。
以便我可以从我的应用的 Documents 文件夹中引用它。
可以做什么?
谢谢。
【问题讨论】:
【参考方案1】:我推荐 ios4+ 中的 TSLibraryImport
http://code.google.com/p/tslibraryimport/
https://bitbucket.org/artgillespie/tslibraryimport
【讨论】:
【参考方案2】:我找到了一种转换 iPod libray 歌曲并将其写入文档目录的方法,使用
From iPod Library to PCM Samples in Far Fewer Steps Than Were Previously Necessary
感谢 Mats Stijlaart 的帮助。但我得到了解决方案。
希望对大家有所帮助。
【讨论】:
【参考方案3】:我认为这是不允许的。这将使复制在 iTunes 中购买的文件更容易,所以我认为苹果不会允许这样做。
当您从音乐库中挑选音乐时,您必须使用 MPMediaPickerController 和以下委托方法:
- (void) mediaPicker: (MPMediaPickerController *) mediaPicker didPickMediaItems: (MPMediaItemCollection *) mediaItemCollection
MPMediaItemCollection 是某种列表。它的项目是 MPConcreteMediaItem 类的实例。 MPMusicPlayerController 可以播放 MPMediaItemCollection,但使用 MPConcreteMediaItems 却无能为力。
【讨论】:
感谢您的输入,我可以在某处存储 MPMediaItemCollection 的引用吗?我的意思是那个文件的路径,下次我打开我的应用程序时要使用那个文件吗? MPMediaItemCollection 继承自 MPMediaEntity,后者继承自 NSObject。 MPMediaEntity 符合 NSCoding 协议,因此这意味着它是可序列化的,您可以将数据放入文件中。 这意味着您还可以序列化 MPMediaItemCollection。我不知道它是否会起作用,但我几乎可以肯定苹果确实实现了它(可能是苹果存储播放列表的方式)。以上是关于iPhone SDK:如何将从 iPod 库中挑选的音频文件写入我的应用程序的文档文件夹?的主要内容,如果未能解决你的问题,请参考以下文章
如何以编程方式确定应用程序正在iphone或ipod中运行[重复]
将我的应用程序构建到我的 ipod touch 时出错:将“目标设备系列”设置为仅 iPhone(“1”)不支持 SDK“设备 - iPhone OS 3.2”