检查CMTime是否相等

4

有没有办法检查一个CMTime是否等于另一个CMTime。在我的情况下,我需要检查CMTime是否等于KCMTimeZero。我尝试了CMTimeCompare方法,但是对于所有等于KCMTimeZero或大于KCMTimeZero的CMTimes,它都将为True。

3个回答

10
我发现将其转换为秒进行检查的方法如下:
if(CMTimeGetSeconds(myTime) == CMTimeGetSeconds(kCMTimeZero))
{
     // do something...     
}

VishnuKumar:谢谢。 - Vineesh TP
@VineeshTP:欢迎 :) - Vishnu Kumar. S

7

CMTimeCompare可以实现这个功能,

来自Xcode的文档CMTimeReference

int32_t CMTimeCompare ( CMTime time1, CMTime time2 );

返回值
两个CMTimes之间的数值关系。

  • 如果time1小于time2,则返回-1。
  • 如果time1大于time2,则返回1。
  • 如果time1等于time2,则返回0。

2

我更喜欢使用定义在CMTime.h中的CMTIME_COMPARE_INLINE宏来使代码更易读。以下是使用该宏与kCMTimeZero比较的代码:

if (CMTIME_COMPARE_INLINE(myTime, ==, kCMTimeZero))
{
    // Your code here
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接