Domanda

Sto scrivendo un'applicazione che utilizza Avfoundation e Cmtime. Ho registrato i valori del mio CMTime istanze create utilizzando CMTimeMake(). Questo valore sembra essere arrotondato al numero intero più vicino. ho bisogno di un CMTime istanza con un valore preciso, senza arrotondamento.

Ho visto le costanti di arrotondamento nel CMTime riferimento:

enum {
   kCMTimeRoundingMethod_RoundHalfAwayFromZero = 1,
   kCMTimeRoundingMethod_RoundTowardZero = 2,
   kCMTimeRoundingMethod_RoundAwayFromZero = 3,
   kCMTimeRoundingMethod_QuickTime = 4,
   kCMTimeRoundingMethod_RoundTowardPositiveInfinity = 5,
   kCMTimeRoundingMethod_RoundTowardNegativeInfinity = 6,

   kCMTimeRoundingMethod_Default = kCMTimeRoundingMethod_RoundHalfAwayFromZero
};

Non c'è alcun esempio di come posso controllare quale di queste strategie viene applicata a a CMTime esempio? Oppure, se questo non è il modo giusto, come posso estrarre un valore preciso da a CMTime esempio?


Modificare:

Ho trovato e testato CMTIME_HAS_BEEN_ROUNDED(). Ho superato il mio CMTime istanza a questa funzione e ritorna No (indicando che il valore non è stato arrotondato). Allora perché sto perdendo precisione?

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top