В моем проекте я использую AVAudioPlayer для воспроизведения сохраненного звука. Я показываю слайдер для воспроизведения звука.Значение ползунка устанавливается с использованием свойства текущего времени игрока.playSlider.value = avAudioPlayer.currentTime;Это код таймера
updateTimer = [NSTimer scheduledTimerWithTimeInterval:.01 target:self selector:@selector(updateCurrentTime) userInfo:p repeats:YES];
//Calls the update current time function
- (void)updateCurrentTime
{
[self updateCurrentTimeForPlayer:self.player];
}
//Updates the current time while the audio is playing
-(void)updateCurrentTimeForPlayer:(AVAudioPlayer *)avAudioPlayer
{
currentTimeLabel.text = [NSString stringWithFormat:@"%d:%02d", (int)avAudioPlayer.currentTime / 60, (int)avAudioPlayer.currentTime % 60, nil];
playSlider.value = avAudioPlayer.currentTime;
if (playSlider.value==playSlider.minimumValue)
{
moveToBeginningButton.enabled = NO;
rewindButton.enabled = NO;
NSLog(@"PlaySliderMaxValue1 === %f",playSlider.maximumValue);
NSLog(@"PlaySliderValue1 === %f",playSlider.value);
}
else
{
moveToBeginningButton.enabled = YES;
rewindButton.enabled = YES;
NSLog(@"PlaySliderMaxValue2 === %f",playSlider.maximumValue);
NSLog(@"PlaySliderValue2 === %f",playSlider.value);
}
}
Максимальное значение ползунка устанавливается следующим образом:
playSlider.maximumValue = audioPlayer.duration;
Проблема, с которой я сталкиваюсь,что точка ползунка всегда будет возвращаться к началу звука после воспроизведения. Это ошибка?Как я могу изменить это?Пожалуйста, предоставьте ваше предложение.