程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> iphone-如何從 AVAudioPlayer中獲取duration 持續時間 (HH:MM:SS)

iphone-如何從 AVAudioPlayer中獲取duration 持續時間 (HH:MM:SS)

編輯:編程綜合問答
如何從 AVAudioPlayer中獲取duration 持續時間 (HH:MM:SS)

在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];
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved