[英]incrementing uiprogressview while avaudiorecorder is recording
在我的AVAudioRecorder录音时,如何增加UIProgressView
的进度计数器? 我不太确定在哪里增加progressview
...
开始和结束记录的代码:
- (IBAction)beginRecording:(id)sender {
if (player.playing) {
[player stop];
}
AVAudioSession *session = [AVAudioSession sharedInstance];
[session setActive:YES error:nil];
// Start recording
[recorder recordForDuration:8];
[_recordButton setTitle:@"Recording..." forState:UIControlStateNormal];
}
- (IBAction)endRecording:(id)sender {
// logic to stop recording
[recorder stop];
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
[audioSession setActive:NO error:nil];
[_recordButton setTitle:@"Record" forState:UIControlStateNormal];
player = [[AVAudioPlayer alloc] initWithContentsOfURL:recorder.url error:nil];
[player setDelegate:self];
[player play];
}
您需要使用NSTimer来读取AVAudioRecorder.currentTime并更新UIProgressView.progress。
例如 :
- (void)startRecord
{
NSTimer *tm = [NSTimer scheduledTimerWithTimeInterval:1.0f
target:self
selector:@selector(updateRecordingProgress)
userInfo:nil
repeats:YES];
[tm fire];
}
- (void)updateRecordingProgress
{
//update your UIProgressView here
yourProgressView.progress = (recorder.currentTime / 8.0);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.