Peter haklı. Aşağıdaki kod, kavramı daha net hale getirir:
1)
Float64 seconds = 5;
int32_t preferredTimeScale = 600;
CMTime inTime = CMTimeMakeWithSeconds(seconds, preferredTimeScale);
CMTimeShow(inTime);
Yukarıdaki kod şunu verir: {3000/600 = 5.000}
Bu, saniyede 600 kare zaman ölçeğine sahip 3000 kare ile toplam 5 saniyelik bir süre anlamına gelir.
2)
int64_t value = 10000;
int32_t preferredTimeScale = 600;
CMTime inTime = CMTimeMake(value, preferredTimeScale);
CMTimeShow(inTime);
Bu, {10000/600 = 16.667} verir
Bu, saniyede 600 kare zaman ölçeğine sahip 10000 kare ile toplam 16.667 saniye süre anlamına gelir.
CMTimeMake (int64_t değeri, int32_t zaman ölçeği) ve CMTimeMakeWithSeconds (Float64 saniye, int32_t preferTimeScale) arasındaki farka dikkat edin
Umarım bu açıklama yardımcı olur. Daha fazla açıklama için, lütfen bu gönderiye başka soru göndermekten çekinmeyin.
CMTimeMake(1, 48)
ise, saniyenin 1 / 48'inde bir, yani kare başına 1 blok