iphone - 在桌面 View 中显示录制的音频

标签 iphone objective-c ios avaudiorecorder

我有一个负责录制音频的 View 。如何录制多个音频并在表格 View 中显示它们? 我正在尝试使用 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目录中的新人,可能我遗漏了一些东西,或者做错了。

出了什么问题,或者有其他方法可以实现这一点吗?

最佳答案

您获取文档目录的内容不正确。这是正确的方法:

NSArray *folderContents = [[NSFileManager defaultManager] contentOfDirectoryAtPath:documentsFolder 错误:nil];

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

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

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

NSData *audioData = ...;//使用您的录音进行初始化

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

[audioData writeToFile:recordedAudioatomically:YES];

关于iphone - 在桌面 View 中显示录制的音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11264017/

相关文章:

iphone - UIGraphicsBeginImageContext 导致内存(泄漏)溢出

objective-c - 在 0 : 8/attempt to write a readonly database 之后意外无法执行 BEGIN IMMEDIATE

ios - 点击时更改 UITableView 中的单元格内容

objective-c - 如何让ios应用程序在前台使用opentok视频聊天

ios - 如何将一个 ViewController 或 View 加载到另一个具有透明背景的 ViewController 中?

ios - 如何以编程方式处理 BLE 外设从 iOS 设备移除配对

iphone - 在 View 导航时在 UITableView 中显示数据

iphone - 如何在 iphone 中以编程方式实现带有背景图像的按钮

ios - 以编程方式确定 UIView 的最大可用帧大小

iphone - UINavigationBar 上图像的大小