AVFoundationとCMTimeを使用するアプリケーションを作成しています。CMTimeを使用して作成したインスタンスの値をログに記録しましたCMTimeMake()。この値は、最も近い整数に丸められているようです。CMTime丸めることなく、正確な値を持つインスタンスが必要です。
私は参考文献で丸め定数を見てきましたCMTime:
enum {
   kCMTimeRoundingMethod_RoundHalfAwayFromZero = 1,
   kCMTimeRoundingMethod_RoundTowardZero = 2,
   kCMTimeRoundingMethod_RoundAwayFromZero = 3,
   kCMTimeRoundingMethod_QuickTime = 4,
   kCMTimeRoundingMethod_RoundTowardPositiveInfinity = 5,
   kCMTimeRoundingMethod_RoundTowardNegativeInfinity = 6,
   kCMTimeRoundingMethod_Default = kCMTimeRoundingMethod_RoundHalfAwayFromZero
};
これらの戦略のどれをCMTimeインスタンスに適用するかを制御する方法の例はありませんか?CMTimeまたは、これが正しくない場合、インスタンスから正確な値を抽出するにはどうすればよいですか?
編集:
私は見つけてテストしましCMTIME_HAS_BEEN_ROUNDED()た。CMTimeインスタンスをこの関数に渡すと、インスタンスが返されますNo(値が丸められていないことを示します)。では、なぜ私は精度を失っているのですか?