有什么方法可以检查一个 CMTime 是否等于另一个 CMTime。在我的情况下,我需要检查 CMTime 是否等于 KCMTimeZero。我尝试了 CMTimeCompare 方法,但对于所有等于 KCMTimeZero 或大于 KCMTimeZero 的 CMTime,它将为 True。
问问题
3745 次
3 回答
9
我找到了以下通过将其转换为秒来检查的方法
if(CMTimeGetSeconds(myTime) == CMTimeGetSeconds(kCMTimeZero))
{
// do something...
}
于 2015-02-12T07:39:22.640 回答
7
CMTimeCompare
做那个把戏,
来自Xcode
的文档CMTimeReference
:
int32_t CMTimeCompare ( CMTime time1, CMTime time2 );
返回值
两个CMTimes的数值关系。
- 如果 time1 小于 time2,则返回 -1。
- 如果 time1 大于 time2,则返回 1。
- 如果 time1 和 time2 相等,则返回 0。
于 2015-02-12T08:52:14.043 回答
2
我更喜欢使用CMTIME_COMPARE_INLINE
定义的宏CMTime.h
来保持代码的可读性。这是您案例的代码(与 kCMTimeZero 比较):
if (CMTIME_COMPARE_INLINE(myTime, ==, kCMTimeZero))
{
// Your code here
}
于 2017-03-29T07:54:58.693 回答