0

所以我按照一些在线教程创建了一个适用于 iphone 的录音机应用程序,它允许我录制和播放声音文件。

但是我找不到任何教程可以让我将录音保存到表格视图中,然后选择要播放的文件。谁能指导我到哪里需要修改我的代码以添加保存和删除功能?

我的代码:

(void)viewDidLoad { [超级 viewDidLoad];

// Disable Stop/Play button when application launches
[stopButton setEnabled:NO];
[playButton setEnabled:NO];

// Set the audio file
NSArray *pathComponents = [NSArray arrayWithObjects:
                           [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject],
                           @"MyAudioMemo.m4a",
                           nil];
NSURL *outputFileURL = [NSURL fileURLWithPathComponents:pathComponents];

// Setup audio session
AVAudioSession *session = [AVAudioSession sharedInstance];
[session setCategory:AVAudioSessionCategoryPlayAndRecord error:nil];

// Define the recorder setting
NSMutableDictionary *recordSetting = [[NSMutableDictionary alloc] init];

[recordSetting setValue:[NSNumber numberWithInt:kAudioFormatMPEG4AAC] forKey:AVFormatIDKey];
[recordSetting setValue:[NSNumber numberWithFloat:44100.0] forKey:AVSampleRateKey];
[recordSetting setValue:[NSNumber numberWithInt: 2] forKey:AVNumberOfChannelsKey];

// Initiate and prepare the recorder
recorder = [[AVAudioRecorder alloc] initWithURL:outputFileURL settings:recordSetting error:NULL];
recorder.delegate = self;
recorder.meteringEnabled = YES;
[recorder prepareToRecord];

}

4

1 回答 1

0

我会使用各种NSFileManager实用程序来控制保存和删除。调用时会在磁盘上AVAudioRecorder创建一个文件,prepareToRecord因此您在录制后的选项是:

  1. 删除它([[NSFileManager defaultManager]removeItemAtPath:path error:&error];
  2. 不要==保存

对于 tableview ,您可以使用NSArray *fileNames = [[NSFileManager defaultManager]contentsOfDirectoryAtPath:theDirectoryPath error:&error];. (顺便说一句 - 我会创建 docs 目录的子目录,特别是用于音频,所以你知道你正在查看的目录中的所有内容都是一个音频文件。 - 还有一个 NSFileManager 方法。删除如上,在适当的委托/数据源方法中可能使用AVAudioPlayer和调用的路径NSFileManager

于 2013-09-04T17:43:56.653 回答