1

UIProgressViewAVAudioRecorder が録音している間、進行状況カウンターを増やすにはどうすればよいですか? インクリメントする場所がよくわかりません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];
}
4

1 に答える 1

1

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);

}
于 2013-11-15T07:04:11.477 に答える