我知道有很多主题,但是我找不到解决我问题的方法。
我有一个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/