Tworzę aplikację, w której muszę miksować utwory. Osiągnąłem to, ale problem występuje, gdy używam następującej funkcji.Jak przekazywać wartość zmiennoprzecinkową gdzie typem danych jest CMTime?
- (BOOL)insertTimeRange:(CMTimeRange)timeRange ofTrack:(AVAssetTrack *)track atTime:(CMTime)startTime error:(NSError **)error;
muszę przechodzić CMTime wartość typu w atTime parametru ale nie bierze Float wartości i muszę dodać kolejny utwór w pewnym wartości zmiennoprzecinkowej. Czy to możliwe?
Nie potrzeba wartość całkowitą. Oto przykład: Załóżmy, że jest piosenka o czasie trwania 10 sekund i muszę wymieszać jeszcze jedną piosenkę o 5.3425 sekundach. Ale ponieważ parametr "atTime" pobiera tylko wartość CMTime i jest całkowitą oraz gdy używam CMTimeMake (5.3425, 1.0); zwróci mi 5.00000, a utwór zostanie dodany o 5.00000, a nie o 5.3425. – Developer
@Harsh Dlaczego nie możesz po prostu ustawić skali czasu na coś rozsądnego? Na przykład 5.3425 może być reprezentowany jako 'CMTimeMake (53425, 10000)' ... –
To zadziałało! :-) Zaakceptowałeś odpowiedź! Dzięki, ale dlaczego nie działa z CMTimeMake (5.3425, 1.0) ;? – Developer