我的iPhone应用程序使用FFMPeg解码/播放音频文件。
我从相应的FFMPeg函数成功获取当前时间(以微秒为单位),但我无法将其转换为分钟和秒(MM:SS)。
这是我显示包含时间的NSString
的代码; getFFMPEGtime
是以微秒为单位的时间:
self.currentAudioTime = [NSString stringWithFormat: @"%02d:%02d",
(int) getFFMPEGtime / (int)1000000,
(int) getFFMPEGtime % 1000000];
似乎以分钟为单位的时间是可以的,但秒数已经搞砸了。将微秒转换为分钟和秒的正确方法是什么?
答案 0 :(得分:5)
代码:
int microseconds = 59434225;
int seconds = microseconds / 1000000;
NSString * result = [NSString stringWithFormat:@"%02d:%02d",seconds/60,seconds%60];
输出:
63434225 -> 01:03
59434225 -> 00:59
答案 1 :(得分:4)
我认为你在几秒钟内的时间可能是正确的,你在几分钟内的时间很可能是错误的。
(int) getFFMPEGtime / (int)1000000
总计秒
要获得MM:SS
,您需要执行以下操作:
self.currentAudioTime = [NSString stringWithFormat: @"%02d:%02d",
(int) getFFMPEGtime / (int)60000000,
(int) ((getFFMPEGtime % 60000000)/1000000)];
答案 2 :(得分:1)
这是数学,如果你有μs,一分钟有60s,你的数字除以60000000,你有你的分钟。
将你的数字除以60e6的余数以微秒为单位,因此除以1e6得到秒数。
示例:
鉴于123456789μs,您有: