как узнать, что MPMoviePlayerController играет в Iphone OS 3.0 - PullRequest
3 голосов
/ 18 января 2010

Мне нужно знать, воспроизводится ли в определенный момент MPMoviePlayerController.

В iphone 3.0 он не запускает MPMoviePlayerContentPreloadDidFinishNotification.

Кто-нибудь знает какое-нибудь решение?

Заранее спасибо!

Ответы [ 2 ]

5 голосов
/ 21 января 2010

Так что спасибо за ответ. Я исправлю это, поэтому я опубликую ответ. Ответ заключается в том, что MPMoviePlayerContentPreloadDidFinishNotification НЕ ЗАПУСКАЕТСЯ, если вы вызываете play () сразу после инициализации.

Чтобы иметь MPMoviePlayerContentPreloadDidFinishNotification, который работает нормально, вы должны вызывать метод "play ()" MPMoviePlayerController, когда MPMoviePlayerContentPreloadDidFinishNotification запускается (я имею в виду в методе MPMoviePlayerConinFidNotification. В этом случае это всегда работает.

Проверено на 3.0, 3.1 и 3.1.2

1 голос
/ 18 января 2010

Тот же вопрос (но без ответа) здесь и ряд других отчетов можно найти на других сайтах (например, здесь )

Не идеально, но кажется, что нацеливание на 3.1 решает проблему.

Обходной путь может быть для свойства MPMoviePlayerController scalingMode, отличного от значения по умолчанию MPMovieScalingModeAspectFit (например, MPMovieScalingModeNone и убедиться, что ваше видео правильного размера), перед вызовом play, а затем перехватить MPMoviePlayerScalingModeDidChangeNotification событие вместо. кажется, что его вызывают (более одного раза!), как только начинается воспроизведение фильма. Конечно, он также будет вызываться, если пользователь изменяет режим масштабирования вручную, поэтому запишите это. Это грязно, но может вам помочь?

...