在app中创建一个UISlider进度条和计时器(如iPod播放器)

时间:2012-11-14 21:16:45

标签: iphone ios cocoa-touch avaudioplayer

我在谷歌和StackOverflow上搜索了两天,但还没有找到一个清晰,简洁的答案。

我的目标是创建一个滑块/进度条,允许用户擦洗到歌曲的不同部分,两侧有两个标签,一个显示已用时间,另一个显示歌曲剩余时间。

我正在使用DiracAudioPlayer,它还包含AVAudioPlayer功能。非常感谢您对教程的任何帮助或指导。

1 个答案:

答案 0 :(得分:3)

不确定这是否是擦洗或更新已用时间的问题,因此我将展示我认为您可以为两者做些什么。

要更新进度条和时间标签,Apple会在其示例项目avTouch

中执行以下操作
updateTimer = [NSTimer scheduledTimerWithTimeInterval:.01 target:self selector:@selector(updateCurrentTime) userInfo:player repeats:YES];
- (void)updateCurrentTime
{

    currentTime.text = [NSString stringWithFormat:@"%d:%02d", (int)self.player.currentTime / 60, (int)p.currentTime % 60, nil];
    progressBar.value = self.player.currentTime;
}

然后通过设置currentTime

来完成搜索
- (IBAction)progressSliderMoved:(UISlider *)sender
{
    player.currentTime = sender.value;
    [self updateCurrentTimeForPlayer:player];
}