पीटर सही है। निम्नलिखित कोड अवधारणा को और अधिक स्पष्ट करता है:
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 value, int32_t timescale) और CMTimeMakeWithSeconds (Float64 सेकंड, int32_t पसंदीदा टाइमसेल) के बीच अंतर पर ध्यान दें
आशा है कि यह व्याख्या मदद करती है। अधिक स्पष्टीकरण के लिए, कृपया इस पोस्ट पर और प्रश्न पोस्ट करने में संकोच न करें।
CMTimeMake(1, 48)
से कोड के एक ब्लॉक को हर दूसरे सेकंड के 1/48 यानी 1 ब्लॉक प्रति फ्रेम में चलाने के लिए करेंगे