如何区分一个音乐文件和另一个

Posted

技术标签:

【中文标题】如何区分一个音乐文件和另一个【英文标题】:How To Distinguish One Music File From The Other 【发布时间】:2015-07-31 07:48:43 【问题描述】:

我目前正在构建一个音乐播放器应用。我的应用程序的功能之一是“我的收藏夹”。这与其他音乐播放器应用程序没有什么不同,因为它允许用户标记自己喜欢的歌曲,当他们只想播放自己喜欢的歌曲时,可以直接从“我的收藏”列表中播放。

我现在的问题是,为了让我记住并能够在下次播放那首歌曲,我想我必须记住那首歌曲的唯一 ID。我不确定手机中存储的每个音乐文件是否真的有一个唯一的 ID。我只是想到了这一点,因为如果有的话,这将是我访问该音乐文件的钥匙。

我尝试的解决方案是附加音乐和艺术家的名称并将其用作键。然后,我将获取音乐列表并循环运行,一旦通过与密钥比较找到相应的音乐文件,我会将其存储在NSMutableDictionary 中。那我以后就可以玩了。

我的解决方案的问题是两个音乐文件具有完全相同的艺术家姓名和相同的标题。我将无法区分哪个是哪个。

我希望我说清楚了。总结一下:

问题:有没有办法获取音乐文件的唯一 ID。如果没有其他方法可以确定一个音乐文件与另一个音乐文件的区别?

【问题讨论】:

你用的是什么音乐文件?如果您使用MPMediaItem,则MPMediaItemPropertyPersistentID 是独一无二的(参见文档:developer.apple.com/library/prerelease/ios/documentation/…) 您能否发布一些代码,以便我们查看您使用的对象?就像拉姆说的,你在用MPMediaItem吗? @Larme 谢谢你的信息!我会尝试使用它。 @Joze 是的,我正在使用 MPMediaItem。 【参考方案1】:

正如@Larme 所建议的那样。我可以使用MPMediaItemPropertyPersistentID 作为我的音乐文件的唯一 ID,这就是我所应用的,这对我来说是正确的答案。

谢谢@Larme!

【讨论】:

以上是关于如何区分一个音乐文件和另一个的主要内容,如果未能解决你的问题,请参考以下文章

如何在heroku中托管音乐机器人?

如何在 Ruby 和另一种语言之间共享文本文件(或互斥体/信号量)?

一个活动和另一个活动之间的动画过渡[关闭]

如何确定 mp3 文件头的长度?

如何区分具有对象坐标的两个图像?

Mercurial:我如何找出我的工作副本和另一个副本之间的区别