CMTimeMake - 获得比秒更小/更多的溶解值

Mic*_*cko 3 iphone mpmovieplayercontroller core-media ios4

我用以下代码成功制作CMTime:

endPoint = CMTimeMake([mp currentPlaybackTime], 1);
Run Code Online (Sandbox Code Playgroud)

我的MPMoviePlayerController中电影的当前位置(最初是浮点值)以秒为单位返回CMTime,这也不错.

但是我怎么能在毫秒内获得这个位置呢?我玩'时间刻度'并将其设置为10和100,但它对结果没有影响.

先感谢您!

zou*_*oul 9

我不确定你想要什么.你了解背后的逻辑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)
…
Run Code Online (Sandbox Code Playgroud)

换句话说,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);
Run Code Online (Sandbox Code Playgroud)

也许这就是你想要的?