Петро має рацію. Наступний код робить концепцію більш зрозумілою:
1)
Float64 seconds = 5;
int32_t preferredTimeScale = 600;
CMTime inTime = CMTimeMakeWithSeconds(seconds, preferredTimeScale);
CMTimeShow(inTime);
Наведений вище код дає: {3000/600 = 5.000}
Що означає загальну тривалість 5 секунд, 3000 кадрів із масштабом часу 600 кадрів в секунду.
2)
int64_t value = 10000;
int32_t preferredTimeScale = 600;
CMTime inTime = CMTimeMake(value, preferredTimeScale);
CMTimeShow(inTime);
Цей дає {10000/600 = 16.667}
Що означає загальну тривалість 16.667 секунд, із 10000 кадрів із масштабом часу 600 кадрів в секунду.
Зауважте різницю між CMTimeMake (значення int64_t, часовий масштаб int32_t) та CMTimeMakeWithSeconds (Float64 секунд, переважні int32_tTTimeScale)
Сподіваюся, це пояснення допомагає. Щоб отримати додаткові роз'яснення, будь ласка, не соромтесь розміщувати додаткові запитання на цій посаді.
CMTimeMake(1, 48)
можете запустити блок коду кожні 1/48 секунди, тобто 1 блок на кадр