Выход секунд CMTime


Это может показаться смешным, но как я могу вывести секунды CMTime на консоль в Objective-C? Мне просто нужно значение, разделенное на временной шкале, а затем как-то увидеть его в консоли.

5 51

5 ответов:

NSLog(@"seconds = %f", CMTimeGetSeconds(cmTime));

просто:

        NSLog(@"%lld", time.value/time.timescale);

Если вы хотите конвертировать в hh:mm:ss формат, то вы можете использовать этот

NSUInteger durationSeconds = (long)CMTimeGetSeconds(audioDuration);
NSUInteger hours = floor(dTotalSeconds / 3600);
NSUInteger minutes = floor(durationSeconds % 3600 / 60);
NSUInteger seconds = floor(durationSeconds % 3600 % 60);
NSString *time = [NSString stringWithFormat:@"%02ld:%02ld:%02ld", hours, minutes, seconds];
NSLog(@"Time|%@", time);
 CMTime currentTime = audioPlayer.currentItem.currentTime;
 float videoDurationSeconds = CMTimeGetSeconds(currentTime);

если вы просто хотите напечатать CMTime для консоли в целях отладки используйте CMTimeShow:

С

CMTime time = CMTimeMakeWithSeconds(2.0, 60000); 
CMTimeShow(time);

Свифт

var time = CMTimeMakeWithSeconds(2.0, 60000)
CMTimeShow(time)

он будет печатать value,timescale и расчета seconds:

{120000/6000 = 2.0}