MPMediaItem 生成唯一文件名

Posted

技术标签:

【中文标题】MPMediaItem 生成唯一文件名【英文标题】:MPMediaItem generating unique filename 【发布时间】:2011-11-30 23:21:37 【问题描述】:

我正在从 iPod 库中导入项目,并希望为每个导入的 MPMediaItem 生成一个唯一的文件名。我希望文件名唯一地代表一个 MPMediaItem,这样如果用户再次导入它,我在本地库中就没有两个相同的文件。

实现这一目标的最佳方法是什么?

【问题讨论】:

Create a unique string used for saving data 的可能重复项 @jeffamaphone - 不是重复的,另一个问题是关于创建唯一的文件名,这是关于创建文件名以唯一地表示媒体项目。如果媒体项目被导入两次,它将具有相同的文件名,在这种情况下 guid 不会剪切它 如果全局唯一标识符不够唯一,那么我不知道有什么帮助。我不确定你是否清楚地表达了你的问题。 @jeffamaphone 我认为您是否花时间阅读整个问题是很清楚的。它说“我希望文件名唯一地代表一个 MPMediaItem,以便如果用户再次导入它,我在本地库中没有两个相同的文件” - 清除为 day。 【参考方案1】:

我不确定我是否正确理解了您的问题,但每个 MPMediaItem 都有一个唯一标识符

[mediaItem valueForProperty:MPMediaItemPropertyPersistentID];

这会返回一个长整数的 NSNumber。希望这会有所帮助,或者如果我错过了理解,请告诉我。

【讨论】:

如果我删除一个专辑并在以后重新下载它,这个标识符将是相同的吗? MPMediaItemPropertyPersistentID 标识符的值在应用程序启动和不改变媒体项同步状态的同步之间保持不变。不保证该值在同步/不同步/同步周期内保持不变。

以上是关于MPMediaItem 生成唯一文件名的主要内容,如果未能解决你的问题,请参考以下文章

MPMediaItem 的唯一 ID,而不是 persistentID

DiffableDataSource引发“致命:提供的标识符不是唯一的。”将MPMediaItem包装在结构中时

DiffableDataSource 抛出“致命:提供的标识符不是唯一的。”将 MPMediaItem 包装在结构中时

MPMediaItem 获取确切的文件大小

目标 c - 将 mpmediaitem 转换为 ogg vorbis

是否可以编辑 MPMediaItem 的元数据?