2013-11-15 2 views
0

Как бы я мог увеличить счетчик производительности для UIProgressView, пока записывается AVAudioRecorder? Я не совсем уверен, где для увеличения ...Приращение uiprogressview во время записи avaudiorecorder

Код для начала и конца записи:

- (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]; 
} 

ответ

0

вам нужно использовать 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); 

} 
+0

Как форматировать это в читаемом String. 00:00:00 – Franky

Смежные вопросы