2

我是 iPhone 新手。我正在研究音频播放器。我必须在音频播放器中显示歌曲的当前时间和剩余时间。在视频播放器中,它将默认获取,但在音频播放器中,它没有得到,因此我编写了一个获取歌曲当前时间的逻辑。下面的代码就是为此

int minutes = (int)audioPlayer.currentTime / 60;
int seconds = (int)audioPlayer.currentTime % 60;
startDurationLabel.text = [NSString stringWithFormat:@"%d:%02d",minutes,seconds];

这里 audioPlayer 是 AVAudioPlayer 的实例, startDurationLabel 是显示歌曲当前时间的标签。

但我正在努力让这个逻辑起作用并显示歌曲的剩余时间

如果有人知道这一点,请帮助我...

4

3 回答 3

2

尝试这个

CGFloat remainingTime =   audioPlayer.duration - audioPlayer.currentTime
于 2012-05-25T07:22:50.397 回答
2
NSTimeInterval remaining = audioPlayer.duration - audioPlayer.currentTime;
于 2012-05-25T07:03:23.937 回答
0

尝试这个 -

NSString *strTimeLeft = [self getTimeFromTimeInterval:CMTimeGetSeconds(_player.currentItem.duration) - CMTimeGetSeconds(_player.currentTime)];

在您的课程中添加此方法

- (NSString*)getTimeFromTimeInterval:(NSTimeInterval)timeInterval
{
    NSInteger interval = (NSInteger)timeInterval;
    NSInteger seconds = interval%60;
    NSInteger minutes = (interval/ 60)%60;
    //NSInteger hr = (interval/3600)%60;

    NSString *strTime = [NSString stringWithFormat:@"%02d:%02d",minutes,seconds];
    return strTime;
}
于 2015-10-09T08:01:38.880 回答