我正在使用以下代码成功制作CMTime :
endPoint = CMTimeMake([mp currentPlaybackTime], 1);
我的 MPMoviePlayerController 中电影的当前位置(最初是一个浮点值)以秒为单位返回为 CMTime,这还不错。
但是我怎样才能在例如毫秒内获得这个位置呢?我玩了“时间刻度”并将其设置为 10 和 100,但它对结果没有影响。
先感谢您!
我正在使用以下代码成功制作CMTime :
endPoint = CMTimeMake([mp currentPlaybackTime], 1);
我的 MPMoviePlayerController 中电影的当前位置(最初是一个浮点值)以秒为单位返回为 CMTime,这还不错。
但是我怎样才能在例如毫秒内获得这个位置呢?我玩了“时间刻度”并将其设置为 10 和 100,但它对结果没有影响。
先感谢您!
我不确定你想要什么。你明白背后的逻辑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);
也许这就是你想要的?