我有一个视频的CMTime。如何将它转换为像“照片”应用程序中视频时间持续标签中那样的漂亮字符串?是否有一些方便的方法可以处理这个问题?谢谢。
AVURLAsset* videoAsset = [AVURLAsset URLAssetWithURL:url options:nil];
CMTime videoDuration = videoAsset.duration;
float videoDurationSeconds = CMTimeGetSeconds(videoDuration);
我有一个视频的CMTime。如何将它转换为像“照片”应用程序中视频时间持续标签中那样的漂亮字符串?是否有一些方便的方法可以处理这个问题?谢谢。
AVURLAsset* videoAsset = [AVURLAsset URLAssetWithURL:url options:nil];
CMTime videoDuration = videoAsset.duration;
float videoDurationSeconds = CMTimeGetSeconds(videoDuration);
一个最简单的方法(不使用NSDate和NSDateFormatter)来实现这个目标:
使用Swift:
func updateRecordingTimeLabel()
{
// Result Output = MM:SS(01:23)
let cmTime = videoFileOutput.recordedDuration
var durationInSeconds = Int(CMTimeGetSeconds(cmTime))
let durationInMinutes = Int(CMTimeGetSeconds(cmTime)/60)
var strDuMin = String(durationInMinutes)
durationInSeconds = durationInSeconds-(60*durationInMinutes)
var strDuSec = String(durationInSeconds)
if durationInSeconds < 10
{
strDuSec = "0"+strDuSec
}
if durationInMinutes < 10
{
strDuMin = "0"+strDuMin
}
// Output string
let str_output = strDuMin+":"+strDuSec
print("Result Output : [\(str_output)]")
}