2013-05-06 3 views
2

В Xcode я установил свои кнопки для воспроизведения музыкального клипа, который длится 40 секунд. Мой вопрос: как связать UIProgressView с музыкой? Например, если песня находится на полпути, индикатор прогресса покажет это.Индикатор хода, связанный с кнопкой музыки

+0

Как вы играете музыку? AVAudioPlayer имеет текущее время и продолжительность, которые вы могли бы использовать для вычисления значения для перехода к UIProgressView. –

+0

Да, я использую avaudioplayer, не могли бы вы дать мне короткое объяснение, связав его с игроком? Я попытался, но дал много ошибок? –

ответ

3

Если у вас есть следующие определенные в классе:

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]; 
Смежные вопросы