Открыть видео в iPhone без элементов управления
Я пытаюсь воспроизвести видео, не показывая элементы управления (громкость и другие кнопки), но также можно сделать их видимыми, нажав на видео.
Код выглядит так: theMovie.scalingMode = MPMovieScalingModeAspectFill; theMovie.movieControlMode = MPMovieControlModeDefault; В этом случае он показывает элементы управления по умолчанию и, нажав на видео, они скрываются.
Если я изменяю режим на MPMovieControlModeHidden, то я не вижу элементы управления, но также не могу вернуть их обратно.
Есть ли способ запустить видео без элементов управления, но не отключить их полностью?
2 ответа
Хорошие новости Дмитрий!
Надеюсь, я нашел решение, которое сделает эту работу за вас.
Это выглядит следующим образом:
- Инициализируйте ваш
MPMoviePlayerController
объектыmovieControlMode
собственность сMPMovieControlModeHidden
значение - Воспроизвести фильм
- После начала воспроизведения фильма установите
MPMoviePlayerController
объектыmovieControlMode
собственность обратноMPMovieControlModeDefault
Третий шаг может быть достигнут путем наблюдения MPMoviePlayerContentPreloadDidFinishNotification
уведомление. Хотя это может вызвать черный экран (или другой цвет, который вы установили в качестве MPMoviePlayerController
объекты backgroundColor
) в случае, если вы будете воспроизводить потоковое видео, которое на самом деле предварительно загружено MPMoviePlayerController
, В моем распоряжении сейчас нет фильмов совместимого формата на удаленном сервере, поэтому я не могу проверить этот сценарий реальным и поэтому возиться, чтобы выяснить, можно ли что-то сделать, чтобы избежать этого побочного эффекта (хотя я думаю, я сделаю это, если вы опубликуете или найдете такой фильм для тестирования где-то в интернете).
Совет: посмотрите на жирный фрагмент текста, если вы не хотите знать мою длинную историю о том, как скучно я начинаю изучать проблему, читая документацию и просматривая предлагаемый пример кода.
Ваш вопрос заинтересовал меня, поэтому я начал с просмотра Справочника по классам MPMoviePlayerController на iPhone Dev Center. На самом деле я не нашел ничего, связанного с проблемой, с которой вы столкнулись, поэтому я решил поиграть с этим примером проекта MPMoviePlayerController - MoviePlayer. Я просто хотел воспроизвести вашу ситуацию и, возможно, попытаться справиться с ней, имитируя одно касание или вызывая тот же метод, который отвечает на это событие вручную.
Но оказалось, что образец проекта Apple на самом деле ведет себя абсолютно так, как вы того хотите. Он начинает воспроизведение видео, и элементы управления наложением автоматически анимируются с экрана с самого начала. Я просмотрел код, он довольно прост и не имеет никакого отношения к этой проблеме. Так что, может быть, это то, что вы делаете (или делаете в несколько неправильном порядке), что вызывает проблему. Check it out and get back to us with a cure because judging by usefulness metric there are people who have similar problems.