在iPhone应用里用到AVAudioPlayer
播放音频文件。然后从AVAudioPlayer 中获取持续时间
我获得的duration值是这样的:252.765442。
但是我想要的是这种格式: HH/MM/SS 02:52:76
如何转换?请帮忙
我写出来的代码没有用:
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:tempFilePath] error:&err];
[audioPlayer setDelegate:self];
[audioPlayer prepareToPlay];
float duration = (float)audioPlayer.duration;
NSLog(@"duration:%f",duration);
试试看:
NSTimeInterval theTimeInterval = audioPlayer.duration;
// 获取system calendar
NSCalendar *sysCalendar = [NSCalendar currentCalendar];
// 创建NSDates
NSDate *date1 = [[NSDate alloc] init];
NSDate *date2 = [[NSDate alloc] initWithTimeInterval:theTimeInterval sinceDate:date1];
// 转换到小时、分钟
unsigned int unitFlags = NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit;
NSDateComponents *breakdownInfo = [sysCalendar components:unitFlags fromDate:date1 toDate:date2 options:0];
NSLog(@"Duration: HH/MM/SS %d:%d:%d", [breakdownInfo hour], [breakdownInfo minute], [breakdownInfo second]);
[date1 release];
[date2 release];