在tableview中显示录制的音频

时间:2012-06-29 14:51:39

标签: iphone objective-c ios avaudiorecorder

我有一个负责录制音频的视图。如何录制多个音频并在表格视图中显示它们? 我正在尝试使用docs目录来保存录制的音频:

NSArray *folders = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);

NSString *documentsFolder = [folders objectAtIndex:0];

NSString *recordedAudio = [documentsFolder stringByAppendingPathComponent:newAudio];

newAudio是一个字符串,其中包含由用户键入的后缀为.m4a的新音频名称。 要检索保存的音频我正在尝试这样的事情:

NSArray *folders = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

NSString *documentsFolder = [folders objectAtIndex:0];

NSArray *folderContents = [[NSArray alloc] initWithContentsOfFile:documentsFolder];

我期望folderContents将所有音频存储在documentsFolder中,因此可以加载我的表,但它的计数为0.我是docs目录中的新手,可能是我遗漏了某些东西,或者做错了。

有什么问题,还是有另一种方法可以实现这一目标?

1 个答案:

答案 0 :(得分:1)

您正在错误地获取文档目录的内容。这是正确的方法:

NSArray *folderContents = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:documentsFolder error:nil];

文档不是文件,而是文件夹。

编辑:这是保存文件的方式

假设您有一个NSData对象,例如

NSData *audioData = ...; // initialiazed with your recording

创建recordedAudio字符串后,实际上只是要写入的文件名(应该称为audioPath或其他内容),您需要添加:

[audioData writeToFile:recordedAudio atomically:YES];