Question

Je fais avec succès un CMTime avec le code suivant:

endPoint = CMTimeMake([mp currentPlaybackTime], 1);

La position actuelle, ce qui était à l'origine une valeur flottante, du film dans mon MPMoviePlayerController est rendu comme CMTime en quelques secondes, ce qui est pas mal.

Mais comment je peux obtenir cette position par exemple en quelques secondes milli? Je joue avec le « calendrier » et fixé à 10 et 100, mais cela n'a pas eu d'effet sur le résultat.

Merci d'avance!

Était-ce utile?

La solution

Je ne suis pas vraiment sûr de ce que vous voulez. Comprenez-vous la logique derrière 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)
…

En d 'autres termes, CMTimeMake(a, b) est la valeur du temps a/b. Ainsi, lorsque vous avez une valeur de temps à virgule flottante:

double time1 = 0.2;
// in ms, (0.2*1000)/1000 == 200/1000 == 0.2
CMTime time2 = CMTimeMake(time1*1000, 1000);

Peut-être que c'est ce que vous voulez?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top