如何在某种数据库中拥有 mp3 文件并在 ios 中访问?

Posted

技术标签:

【中文标题】如何在某种数据库中拥有 mp3 文件并在 ios 中访问?【英文标题】:How to have mp3 files in some sort of database and access in ios? 【发布时间】:2012-07-21 23:52:18 【问题描述】:

我是 ios 新手,我正在尝试编写一个使用 mp3 文件的应用程序。事实上,这个应用程序会有很多 mp3 文件,为了避免一个巨大的应用程序占用大量空间并且永远下载,我想把它放到某种数据库或文件服务器中,当用户点击歌曲名称,应用程序访问数据库并加载文件。我该怎么做呢?是用 SQLite 数据库吗?

谢谢, 加根

【问题讨论】:

【参考方案1】:

我会确保您非常熟悉 Apple 的持久性框架 CoreData。我会远离进行原始 SQLite 访问,因为 CoreData 将为您完成所有繁重的工作。作为一个指针,我不会将 MP3 文件本身存储在 CoreData 中,而是存储对它们的文件系统引用。

如果 Apple 文档对您来说有点枯燥,来自 Apress 的 Pro Core Data 是学习 CoreData 基础知识以及逐步深入了解框架的复杂性的绝佳入门读物。

【讨论】:

非常感谢您的快速回复!我将查看它的文档。而且我经常发现文档有点枯燥,所以 Apress 将是我的第一个资源。再次感谢!【参考方案2】:

您必须创建 NSData 并将其插入到模型中。这里还有一篇包含 sn-p 代码的帖子,可能对您有用:Download, save, and play mp3 on an iPhone

如果您还没有体验过CoreData,它可能会令人生畏,但实际上它非常易于使用。如果您不熟悉 CoreData,我建议您查看 Apple 的文档并花几个小时在谷歌上搜索和创建“测试”应用程序,以了解如何创建、插入和删除托管对象。这是苹果文档: http://developer.apple.com/library/mac/#documentation/cocoa/Conceptual/CoreData/cdProgrammingGuide.html

希望对你有帮助

【讨论】:

哇,没想到答案这么快!谢谢!我会查看文档。肯定会先创建几个测试应用。 不建议将文件转换为数据然后存储...而只是将文件存储在文档目录中并将路径存储在持久存储中..

以上是关于如何在某种数据库中拥有 mp3 文件并在 ios 中访问?的主要内容,如果未能解决你的问题,请参考以下文章

文件解压内存占用

如何在 iOS 中加密 mp3 文件

iOS mp3 (AVaudioPlayer) 的比特率值

在IOS中通过http播放mp3文件

如何在 iOS 中获取现有 MP3 或 AAC 的比特率?

在 iOS 应用程序中播放 mp3 文件 [重复]