サー、私のコードのエラーはどう思いますか..オーディオを録音できないからです。私のプロジェクトで私を助けてくれませんか?簡単なレコーディングプロジェクトを作りたいです。3つのボタン(PLAY、STOP、RECORD)で...ちなみに私はnibファイルを使用しませんでした。Objective-Cの初心者の場合、私のアプローチは純粋にプログラムによるものです。
これはviewDidLoad()の私のコードです
-(void)viewDidLoad
{
[super viewDidLoad];{
playButton.enabled = NO;
stopButton.enabled = NO;
dirPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
docsDir = [dirPaths objectAtIndex:0];
NSString *soundFilePath = [docsDir stringByAppendingPathComponent:@"sound.caf"];
NSURL *soundFileURL = [NSURL fileURLWithPath:soundFilePath];
NSDictionary *recordSettings = [NSDictionary
dictionaryWithObjectsAndKeys:
[NSNumber numberWithInt:AVAudioQualityMin],
AVEncoderAudioQualityKey,
[NSNumber numberWithInt:16],
AVEncoderBitRateKey,
[NSNumber numberWithInt: 2],
AVNumberOfChannelsKey,
[NSNumber numberWithFloat:44100.0],
AVSampleRateKey,
nil];
NSError *error = nil;
audioRecorder = [[AVAudioRecorder alloc]initWithURL:soundFileURL settings:recordSettings error:&error];
if (error)
{
NSLog(@"error: %@", [error localizedDescription]);
}
else
{
[audioRecorder prepareToRecord];
}
}
-(void) recordButton:(UIButton *)sender
{
if (!audioRecorder.recording)
{
playButton.enabled = NO;
stopButton.enabled = YES;
[audioRecorder record];
NSLog(@"Record");
}
}
-(void)stop:(UIButton *)sender
{
stopButton.enabled = NO;
playButton.enabled = YES;
recordButton.enabled = YES;
if (audioRecorder.recording)
{
[audioRecorder stop];
NSLog(@"Stop");
}
else if (audioPlayer.playing)
{
[audioPlayer stop];
}
}
-(void) playAudio:(UIButton *)sender
{
NSError *error;
if (!audioRecorder.recording)
{
stopButton.enabled = YES;
recordButton.enabled = NO;
NSLog(@"Play");
if (audioPlayer)
{
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:audioRecorder.url error:&error];
audioPlayer.delegate = self;
}
if (error)
{ NSLog(@"Error: %@",
[error localizedDescription]);
}
else
[audioPlayer play];
}
}