CMTimeMake - ottenere i valori più piccoli / più sciolti rispetto secondi
-
28-09-2019 - |
Domanda
sto facendo con successo un CMTime con il seguente codice:
endPoint = CMTimeMake([mp currentPlaybackTime], 1);
La posizione attuale, che in origine era un valore float, del film nella mia MPMoviePlayerController viene restituita come CMTime in secondi, che non è male.
Ma come posso ottenere questa posizione in es in millisecondi? Ho giocato con il 'calendario' e impostarlo a 10 e 100, ma non ha avuto un effetto sul risultato.
Grazie in anticipo!
Soluzione
Non sono davvero sicuro di quello che vuoi. Hai capito la logica dietro 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)
…
In altre parole, è il CMTimeMake(a, b)
a/b
valore del tempo. Così, quando si ha un valore di virgola mobile:
double time1 = 0.2;
// in ms, (0.2*1000)/1000 == 200/1000 == 0.2
CMTime time2 = CMTimeMake(time1*1000, 1000);
Forse questo è ciò che si vuole?
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow