cmtimemake - احصل على قيم أصغر / أكثر من الثواني
-
28-09-2019 - |
سؤال
أنا نجح في صنع ملف سم مع الكود التالي:
endPoint = CMTimeMake([mp currentPlaybackTime], 1);
يتم إعطاء الموقف الحالي ، الذي كان في الأصل قيمة تعويم ، للفيلم في MPMOVIEPlayerController الخاص بي باعتباره cmtime في الثواني ، وهو أمر ليس سيئًا.
ولكن كيف يمكنني الحصول على هذا الموقف على سبيل المثال في ميلي ثواني؟ لقد لعبت مع "النطاق الزمني" ووضعته على 10 و 100 ، لكن لم يكن له تأثير على النتيجة.
شكرا لكم مقدما!
المحلول
لست متأكدًا حقًا مما تريد. هل تفهم المنطق وراء CMTime
?
1.0s = 1/1s = CMTimeMake(1, 1)
0.1s = 1/10s = CMTimeMake(1, 10)
0.2s = 1/5s = CMTimeMake(1, 5)
0.2s = 2/10s = CMTimeMake(2, 10)
…
بعبارات أخرى، CMTimeMake(a, b)
هي القيمة الزمنية a/b
. وهكذا عندما يكون لديك قيمة زمنية للنقطة العائمة:
double time1 = 0.2;
// in ms, (0.2*1000)/1000 == 200/1000 == 0.2
CMTime time2 = CMTimeMake(time1*1000, 1000);
ربما هذا ما تريد؟
لا تنتمي إلى StackOverflow