我使用mattgallagher的AudioStreamer类已经有很长一段时间了,但直到现在我才使用秒信息实现进度滑块。
带有timePlayed/totalDuration的标签像手套一样工作,导引头进度正在正确更新。
问题是,当我将滑块移动到一个新位置时,滑块就在新位置上,从头开始流媒体。
我试着追踪AudioStreamer.m,看看我遗漏了什么,但找不到。流缺少一些信息是问题吗?
您需要确保在updateProgress
方法中,您正在设置滑块值,以便它在计时器内不断更新;
double progress = self.audio.progress;
double duration = self.audio.duration;
[progressSlider setValue:100 * progress / duration];
我所做的是创建一个方法,该方法在滑块的Touch Up Inside
和Touch Up Outside
事件上被调用;
- (IBAction)endSeeking:(UISlider *)sender {
double duration = self.audio.duration;
double newtime = (duration / 100) * sender.value;
[self.audio seekToTime:newtime];
}
希望能有所帮助。