CMTimeMake - immer kleiner / mehrere gelöste Werte als Sekunden
-
28-09-2019 - |
Frage
Ich mache erfolgreich ein cmtime mit folgendem Code:
endPoint = CMTimeMake([mp currentPlaybackTime], 1);
Die aktuelle Position, die ursprünglich ein Float-Wert, des Films in meinem MPMoviePlayerController war in Sekunden zurück als cmtime gegeben, was nicht schlecht ist.
Aber wie kann ich diese Position erhalten in z.B. in Millisekunden? Ich spielte mit dem ‚Zeitplan‘ und legen Sie es auf 10 und 100, aber es hat keinen Einfluss auf das Ergebnis hat.
Vielen Dank im Voraus!
Lösung
Ich bin nicht wirklich sicher, was Sie wollen. Haben Sie die Logik hinter CMTime
verstehen?
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)
…
Mit anderen Worten, CMTimeMake(a, b)
ist der Zeitwert a/b
. Wenn Sie also eine Fließkommazeitwert haben:
double time1 = 0.2;
// in ms, (0.2*1000)/1000 == 200/1000 == 0.2
CMTime time2 = CMTimeMake(time1*1000, 1000);
Vielleicht ist das, was Sie wollen?
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow