Cmtimemake - Obtenha valores menores / mais dissolvidos do que segundos
-
28-09-2019 - |
Pergunta
Estou fazendo com sucesso um Cmtime Com o seguinte código:
endPoint = CMTimeMake([mp currentPlaybackTime], 1);
A posição atual, que originalmente era um valor flutuante, do filme no meu MPMovieplayerController, é devolvido como um cmtime em segundos, o que não é ruim.
Mas como posso conseguir essa posição em por exemplo, em mili segundos? Eu brinquei com o 'tempo de tempo' e o coloquei para 10 e 100, mas isso não teve efeito no resultado.
Agradeço antecipadamente!
Solução
Não tenho muita certeza do que você quer. Você entende a lógica por trás 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)
…
Em outras palavras, CMTimeMake(a, b)
é o valor do tempo a/b
. Assim, quando você tem um valor de tempo de ponto flutuante:
double time1 = 0.2;
// in ms, (0.2*1000)/1000 == 200/1000 == 0.2
CMTime time2 = CMTimeMake(time1*1000, 1000);
Talvez seja isso que você quer?
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow