0

そこで、オンラインでいくつかのチュートリアルに従って、サウンドファイルを録音および再生できるiPhone用のオーディオレコーダーアプリを作成しました。

しかし、記録をテーブル ビューに保存し、再生するファイルを選択できるチュートリアルが見つかりません。保存および削除機能を追加するためにコードを変更する必要がある場所を教えてもらえますか?

私のコード:

(void)viewDidLoad { [super 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 に答える