【发布时间】:2011-03-24 10:59:15
【问题描述】:
我正在编写一个使用 AVFoundation 和 CMTime 的应用程序。我已经记录了使用CMTimeMake() 创建的CMTime 实例的值。这个值似乎被四舍五入到最接近的整数。我需要一个具有精确值的 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(表示该值尚未四舍五入)。那么为什么我会失去精度呢?
【问题讨论】:
标签: iphone ios avfoundation avmutablecomposition core-media