2015-02-12 3 views
1

Есть ли способ проверить CMTime, равный другому CMTime. В моем случае мне нужно проверить, что CMTime равно KCMTimeZero. Я пробовал метод CMTimeCompare, но он будет True для всех CMTimes, который равен KCMTimeZero или больше, чем KCMTimeZero.Проверить CMTime Equals

ответ

7

Я нашел следующий способ проверить, преобразовав его в секундах

if(CMTimeGetSeconds(myTime) == CMTimeGetSeconds(kCMTimeZero)) 
{ 
    // do something...  
} 
+0

VishnuKumar: Спасибо. –

+0

@VineeshTP: Добро пожаловать :) –

5

CMTimeCompare делает этот трюк,

из Xcode «s документация CMTimeReference:

int32_t CMTimeCompare (CMTime time1, CMTime time2); 

Возвращаемое значение
Численное соотношение два CMTimes.

  • -1 возвращается, если time1 меньше времени2.
  • 1 возвращается, если time1 больше, чем time2.
  • 0 возвращается, если time1 и time2 равны.
2

Я предпочитаю использовать CMTIME_COMPARE_INLINE макрос, определенный в CMTime.h, чтобы код был более читаемым. Вот код для Вашего случая (сравнение с kCMTimeZero):

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