我的iPhone应用程序使用FFMPeg解码/播放音频文件。
我成功地从适当的FFMPeg函数获得了以微秒为单位的当前时间,但我无法将其转换为分钟和秒(MM:SS)。
下面是显示包含时间的NSString
的代码;getFFMPEGtime
是以微秒为单位的时间:
self.currentAudioTime = [NSString stringWithFormat: @"%02d:%02d",
(int) getFFMPEGtime / (int)1000000,
(int) getFFMPEGtime % 1000000];
看起来以分钟为单位的时间是可以的,但是秒被搞乱了。将微秒转换为分钟和秒的正确方法是什么?
发布于 2011-05-24 17:08:48
我认为以秒为单位的时间可能是正确的,而以分钟为单位的时间很可能是错误的。
(int) getFFMPEGtime / (int)1000000
为您提供了总的秒数
要获取MM:SS
,您需要执行以下操作:
self.currentAudioTime = [NSString stringWithFormat: @"%02d:%02d",
(int) getFFMPEGtime / (int)60000000,
(int) ((getFFMPEGtime % 60000000)/1000000)];
发布于 2011-05-24 17:17:21
代码:
int microseconds = 59434225;
int seconds = microseconds / 1000000;
NSString * result = [NSString stringWithFormat:@"%02d:%02d",seconds/60,seconds%60];
输出:
63434225 -> 01:03
59434225 -> 00:59
发布于 2011-05-24 17:09:28
这是数学,如果你有µs,1分钟等于60,将你的数字除以60000000,你就得到了分钟。
数字除以60e6的余数以µ秒为单位,因此除以1e6即可得到秒数。
示例:
在给定123456789微秒的情况下,您具有:
https://stackoverflow.com/questions/6114065
复制