CMtime Sekunden Ausgang
-
27-10-2019 - |
Frage
Das mag lächerlich erscheinen, aber wie kann ich die Sekunden der CMTime in die Konsole in Objective-C ausgeben? Ich brauche einfach den Wert, der durch die Zeitskala geteilt wird, und sehe ihn dann irgendwie in der Konsole.
Lösung
NSLog(@"seconds = %f", CMTimeGetSeconds(cmTime));
Andere Tipps
Einfach:
NSLog(@"%lld", time.value/time.timescale);
Wenn Sie sich konvertieren möchten hh:mm:ss
Format dann können Sie dies verwenden
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);
Wenn Sie nur a drucken möchten CMTime
zur Konsole zum Debugging -Zweck verwenden CMTimeShow
:
Ziel c
CMTime time = CMTimeMakeWithSeconds(2.0, 60000);
CMTimeShow(time);
Schnell
var time = CMTimeMakeWithSeconds(2.0, 60000)
CMTimeShow(time)
Es wird die drucken value
, timescale
und berechnen die seconds
:
{120000/6000 = 2.0}
CMTime currentTime = audioPlayer.currentItem.currentTime;
float videoDurationSeconds = CMTimeGetSeconds(currentTime);
Alle Antworten, bevor dies nicht mit Nan -Fall behandelt wird:
Swift 5:
/// Convert CMTime to TimeInterval
///
/// - Parameter time: CMTime
/// - Returns: TimeInterval
func cmTimeToSeconds(_ time: CMTime) -> TimeInterval? {
let seconds = CMTimeGetSeconds(time)
if seconds.isNaN {
return nil
}
return TimeInterval(seconds)
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow