如何在iPhone应用程序中存储音频文件?

时间:2011-01-07 12:37:57

标签: iphone objective-c sqlite core-data

我正在尝试将音频文件存储在iPhone应用程序中。

是否可以使用SQLite执行此操作?

请给我建议。

6 个答案:

答案 0 :(得分:1)

您可以使用sqlite中的BLOB

保存音频数据

编辑:

您可以在数据库模式中定义以下内容:

CREATE TABLE audio (
    id BIGINT PRIMARY KEY,
    rawaudio BLOB
);

在您的代码中,您只需将音频的原始数据存储到rawaudio表中的audio字段中。

答案 1 :(得分:1)

如果要将音频文件存储在SQLite中,您确实可以使用BLOB数据类型。

您也可以将其存储在目录中并直接访问它。

这取决于您希望如何使用音频文件以及它是否经常更改。

答案 2 :(得分:1)

您是否想要使用SQLite,或者这是回答主要问题的一种方式?因为如果不要求“使用SQLite”,这很简单。只需将文件粘贴在XCode的“资源”组中即可。它最终会出现在您的应用程序包中。

答案 3 :(得分:1)

这是可能的,但可能不是最好的主意。而是将该文件作为资源添加到应用程序中,然后将该文件的名称存储在数据库中,而不是文件本身。这样,您可以随时随地更新文件。

答案 4 :(得分:0)

您是在构建应用程序时还是在运行时尝试执行此操作?

如果您想查看这些技术,Cocoa-Touch可以通过SQLite或Core-Data提供持久性支持。

答案 5 :(得分:0)

根据音频文件的大小,BLOB可以正常工作,或者您可以将它们写入磁盘并在某处跟踪它们。

我遇到了类似的问题,我需要下拉远程音频文件并将其存储在设备上。我使用CoreData来保存所有文件存储位置的可搜索索引,然后使用为该核心数据项提供的路径打开文件。

核心数据起初有点难以理解,但是一旦你绕过它就很不错了。我使用mogenerator用于我的所有模型,它将在您的核心数据模型上运行脚本,为您创建所有样板代码。