سؤال

أنا نجح في صنع ملف سم مع الكود التالي:

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);

ربما هذا ما تريد؟

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top