2012-02-13 199 views

回答

7

使用UISlider设置包括maxValue到当前播放的歌曲持续时间(以秒为单位),并是minvalue 0

假设你使用的是MPMusicPlayerController使用currentPlaybackTime获得播放曲目的当前时间并使用该值来更新所述滑块每个第二

slider.value = musicPlayerController.currentPlaybackTime; 
slider.minimumValue = 0; 
slider.maximumValue = [musicPlayerController.nowPlayingItem valueForProperty:@"MPMediaItemPropertyPlaybackDuration"]; 
+0

我使用MPmusicplayer。 – 2012-02-13 10:54:12

+0

然后使用MPMusicPlayerController的currentPlaybackTime属性获取播放轨道的当前时间,并使用NSTimer每秒更新一次。 – Francesco 2012-02-13 11:07:33

+0

我已经更新了整个答案。 – Francesco 2012-02-13 11:15:23

7
- (IBAction)slide:(id)sender{ 

    [musicPlayer setCurrentPlaybackTime: [slider value]]; 
} 

- (void)actualizaSlider{ 

slider.value = musicPlayer.currentPlaybackTime; 
slider.minimumValue = 0; 

NSNumber *duration = [self.musicPlayer.nowPlayingItem valueForProperty:MPMediaItemPropertyPlaybackDuration]; 

float totalTime = [duration floatValue]; 

slider.maximumValue = totalTime;