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 库中挑选的音频文件写入我的应用程序的文档文件夹?的主要内容,如果未能解决你的问题,请参考以下文章

我如何允许用户从他们的 iPod 库中挑选歌曲?

如何以编程方式确定应用程序正在iphone或ipod中运行[重复]

您可以播放 iPod 库中的视频吗?

将我的应用程序构建到我的 ipod touch 时出错:将“目标设备系列”设置为仅 iPhone(“1”)不支持 SDK“设备 - iPhone OS 3.2”

快速从 iPod 库中获取专辑列表

有 iPod SDK 吗?