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!

War es hilfreich?

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
scroll top