【发布时间】:2011-07-05 07:32:29
【问题描述】:
我的委托方法 audioRecorderDidFinishRecording 和 audioPlayerDidFinishPlaying 没有被调用。这些方法应该触发一个“stopanimation”方法,在录制完成后停止动画。
我已经在audioPlayerDidFinishPlaying 的末尾调用了stopanimation 方法。
这是分配委托的相关代码:
VoiceEditor.h
@interface VoiceEditor : UIViewController <UITextFieldDelegate, AVAudioRecorderDelegate, AVAudioPlayerDelegate>{
}
VoiceEditor.m
- (void)record{
recorder = [[AVAudioRecorder alloc] initWithURL:[NSURL fileURLWithPath:pathString] settings:recordSettings error:nil];
[recorder setDelegate:self];
[recorder record];
recording = YES;
[pauseButton setImage:[UIImage imageNamed:@"stop.png"] forState:UIControlStateNormal];
[pauseButton setEnabled:YES];
[playButton setEnabled:NO];
[recordButton setEnabled:NO];
[self beginAnimation];
}
- (void)play{
player = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:pathString] error:nil];
double seconds=[player duration];
NSLog(@"%f",seconds);
[player setDelegate:self];
[player play];
playing = YES;
[recordButton setEnabled:NO];
[pauseButton setEnabled:YES];
[playButton setEnabled:NO];
[self beginAnimation];
}
【问题讨论】:
标签: iphone ios4 delegates avaudioplayer avaudiorecorder