Я не совсем уверен, что вы хотите.Вы понимаете логику CMTime
?
1.0s = 1/1s = CMTimeMake(1, 1)
0.1s = 1/10s = CMTimeMake(1, 10)
0.2s = 1/5s = CMTimeMake(1, 5)
0.2s = 2/10s = CMTimeMake(2, 10)
…
Другими словами, CMTimeMake(a, b)
- это значение времени a/b
.Таким образом, когда у вас есть значение времени с плавающей точкой:
double time1 = 0.2;
// in ms, (0.2*1000)/1000 == 200/1000 == 0.2
CMTime time2 = CMTimeMake(time1*1000, 1000);
Может быть, это то, что вы хотите?