Obecnie tworzę odtwarzacz wideo do strumieniowej zawartości przy użyciu AVPlayer Framework. Natknąłem się na właściwość VideoGravity String-AVPlayerLayer, która pozwoli ustawić tryb skalowania/zmiany rozmiaru odtwarzacza na różne wartości.Ustawienie AVPlayerLayer VideoGravity działa na Simulatorze, a nie na iPadzie.
W celu zapewnienia użytkownikowi znanych z domyślnym odtwarzaczem skalowania i funkcji, jakie utworzone metodę, która będzie wykonać następujący kod:
AVPlayerLayer *layer = (AVPlayerLayer *)[self.videoContainer layer];
if([layer.videoGravity isEqualToString:AVLayerVideoGravityResizeAspect])
layer.videoGravity = AVLayerVideoGravityResizeAspectFill;
else
layer.videoGravity = AVLayerVideoGravityResizeAspect;
To działa bardzo dobrze w symulatorze, ale jakoś nie na moim iPadzie 2 z zainstalowanym iOS 5.0.1.
Czy ktoś miał podobne problemy? Czy jest to znany błąd systemu iOS w wersji 5.0.1? Czy istnieje lepsze podejście do wdrażania skalowania/zmiany rozmiaru za pomocą AVPlayerLayer?
Wszelkie pomysły/tips/help i zalecenia są bardzo cenione,
Dzięki
Sam
Kiedy mówisz, że to nie działa na prawdziwym urządzeniu, co się właściwie dzieje? Nic lub jakieś inne nieoczekiwane zachowanie? – reddersky
Niestety nic się nie dzieje (jeśli widzę) ... jeśli zrobię NSLog (layer.videoGravity) zwrócony zostanie "poprawny" ciąg VideoGravity. Akceptuje również zmiany w nim, ale tak naprawdę nie zmienia rozmiaru treści filmu ... – samsam
Mogę tu wyskakiwać z niewłaściwego drzewa, ale dlaczego ustawiasz wideoGravity na ciąg stałej nazwy zamiast ustawiania do samej stałej? – reddersky