2012-06-30 3 views
1

Пользователь выбирает один .mp3 из MediaPicker. Я хочу динамически установить ширину UISlider на основе длины .mp3 (в секундах). UISlider отображается в UIScrollView, который таймер оживляет/прокручивает UISlider во время воспроизведения музыки (подобно тому, как звуковая дорожка появляется в iMovie).Динамический размер UISlider на основе аудиофайла

** Мой вопрос: как установить ширину UISlider так, чтобы независимо от ширины (.mp3 длина в секундах), большой палец будет «прокручиваться» с точно такой же скоростью и не изменяется в зависимости от длина песни. то есть. С короткой песней и длинной песней большой палец должен прокручиваться с точно такой же скоростью, потому что ширина UISlider изменилась в соответствии с длиной музыки.

Я был на этом в течение 2 дней. Очень признателен.

ответ

0

Создайте экземпляр AVAudioPlayer с mp3-файлом. Теперь установите максимальное и минимальное значение ползунка в соответствии с воспроизведением звукового файла:

Сначала задайте минимальное значение ползунка.

yourslider.minimum = 0; 

Теперь, чтобы установить максимальное значение ползунка, используя свойство длительности AVAudioPlayer, который дает общую продолжительность mp3 или любому аудио файла:

yourslider.maximum = ceilf(float)avaudioplayer.duration); 
+0

Would литье 'avaudioplayer.duration' к' int' не этажу стоимость? Будет ли потолок быть лучше, так как <1 секунд свободного пространства на правом конце слайдера кажется предпочтительным потерять до 1 секунды содержимого песни? – WendiKidd

+0

Это не мой вопрос. –

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