我知道有很多主题,但是我找不到解决我问题的方法。

我有一个AVPlayerItem,我想将currentTime属性(CMTime)转换为音乐播放器的可读格式。

这是我的代码:

NSDate *seconds = [[NSDate alloc] initWithTimeIntervalSinceNow:CMTimeGetSeconds(self.playerItem.currentTime)];

NSDateFormatter *timeFormatter = [[NSDateFormatter alloc] init];
[timeFormatter setDateFormat:@"HH:mm:ss"];

self.currentTimeLabel.text = [NSString stringWithFormat:@"%@", [timeFormatter stringFromDate:seconds]];


它可以工作,但会增加播放时间1小时。我怎么减去那个小时?

谢谢!

最佳答案

试试这个代码,

SWIFT代码:

德克拉尔

var playerVal = AVPlayer()


然后在需要的地方调用下面的方法,

func updateTime() {

        let currentTime = Float(CMTimeGetSeconds(playerVal.currentTime()))
        let minutes = currentTime/60
        let seconds = currentTime - minutes * 60

        startValue.text = NSString(format: "%.2f:%.2f", minutes,seconds) as String

    }


目标C代码:

德克拉尔

AVPlayer playerVal;


然后在需要的地方调用下面的方法,

- (void)updateTime {
    Float currentTime = CMTimeGetSeconds([playerVal currentTime]);
    Float minutes = currentTime/60;
    Float seconds = (currentTime - minutes) * 60;
    startValue.text = [NSString stringWithFormat:@"%.2f:%.2f", minutes,seconds];
}


它为我工作,希望它有所帮助

关于ios - NSDate和AVPlayerItem.currentTime,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36733302/

10-12 14:47