当前位置:  开发笔记 > 编程语言 > 正文

AVAudioPlayer时间显示

如何解决《AVAudioPlayer时间显示》经验,为你挑选了1个好方法。

我有一个简单的mp3通过AVAudioPlayer播放,我希望能够显示剩余的时间.

我知道答案包括减去AVAudioPlayer.durationAVAudioPlayer.currentTime,但我不知道如何实现它计算它,它的演奏(如在ActionScript中的onEnterFrame我猜),而功能.目前currentTime是静态的,即零.



1> vfn..:

我会选择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];
}


啊,是的,只需要使用`scheduledTimerWithTimeInterval`而不是`timerWithTimeInterval`
推荐阅读
臭小子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有