Чтобы получить правильные размеры / соотношение сторон содержимого фильма, вы можете использовать свойство MPMoviePlayerController
naturalSize
.
Из справочника по классам MPMoviePlayerController
naturalSize
Ширина и высота кадра фильма. (Только для чтения)
@property (nonatomic, readonly) CGSize naturalSize
Обсуждение
Это свойство сообщает о чистой апертуре видео в
квадратные пиксели. Таким образом, указанные размеры учитывают
анаморфное содержание и режимы апертуры.
Возможно изменение естественного размера фильма во время
воспроизведение. Обычно это происходит, когда скорость потоковой передачи
содержимое меняется или когда воспроизведение переключается между только аудио и
сочетание аудио и видео.
Доступность
Доступный в iOS 3.2 и позже.
Объявлен в
MPMoviePlayerController.h
Теперь давайте предположим, что вы проигрываете фильм, который возвращает 280x150
для его естественного размера. Это приводит к соотношению сторон примерно 1.87
(ширина делится на высоту). Теперь предположим, что у вас разрешение экрана 768x1024 (iPad, портрет). Если вы хотите, чтобы этот фильм отображался максимально полно, но при этом некоторые элементы управления оставались видимыми, вы бы использовали следующие вычисления для фактической MPMoviePlayerController.view
высоты:
768 / 1.87 = 411
(округлено)
Полученный кадр:
MPMoviePlayerController.view.frame = CGRectMake(0.0f,
(1024.0f - 411.0f) / 2.0f,
768.0f,
411.0f);