Если у вас есть следующие определенные в классе:
AVAudioPlayer *audioPlayer;
UIProgressView *progressView;
NSTimer *audioTimer;
Запуск его таймер, кажется, работает:
- (void)audioProgressUpdate
{
if (audioPlayer != nil && audioPlayer.duration > 0.0)
[progressView setProgress:(audioPlayer.currentTime/audioPlayer.duration)];
}
При запуске клипа запуска таймера (это запускает его каждый десятые доли секунды):
[audioPlayer play];
audioTimer = [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(audioProgressUpdate) userInfo:nil repeats:YES];
И когда вы остановить клип, остановить таймер:
[audioTimer invalidate];
[audioPlayer stop];
Как вы играете музыку? AVAudioPlayer имеет текущее время и продолжительность, которые вы могли бы использовать для вычисления значения для перехода к UIProgressView. –
Да, я использую avaudioplayer, не могли бы вы дать мне короткое объяснение, связав его с игроком? Я попытался, но дал много ошибок? –