我有一个简单的mp3通过AVAudioPlayer播放,我希望能够显示剩余的时间.
我知道答案包括减去AVAudioPlayer.duration
从AVAudioPlayer.currentTime
,但我不知道如何实现它计算它,它的演奏(如在ActionScript中的onEnterFrame我猜),而功能.目前currentTime
是静态的,即零.
我会选择NSTimer.安排它在播放媒体时每秒运行一次,这样您就可以在剩下的时间内更新UI.
// Place this where you start to play NSTimer * myTimer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(updateTimeLeft) userInfo:nil repeats:YES];
并创建更新UI的方法:
- (void)updateTimeLeft { NSTimeInterval timeLeft = self.player.duration - self.player.currentTime; // update your UI with timeLeft self.timeLeftLabel.text = [NSString stringWithFormat:@"%f seconds left", timeLeft]; }