cmtimemake-数秒よりも小さく /溶解した値を取得する
-
28-09-2019 - |
質問
私は正常に作っています CMTIME 次のコードで:
endPoint = CMTimeMake([mp currentPlaybackTime], 1);
元々私のmpmovieplayercontrollerの映画のフロート値であった現在の位置は、数秒でCMTimeとして返されますが、これは悪くありません。
しかし、どのようにしてこの位置をMilli秒で得ることができますか?私は「タイムスケール」で遊んで、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);
多分これはあなたが望むものですか?
所属していません StackOverflow