Открыть видео в iPhone без элементов управления - PullRequest
4 голосов
/ 11 января 2010

Я пытаюсь воспроизвести видео, не показывая элементы управления (громкость и другие кнопки), но также можно сделать их видимыми, нажав на видео.

Код: theMovie.scalingMode = MPMovieScalingModeAspectFill; theMovie.movieControlMode = MPMovieControlModeDefault; В этом случае он показывает элементы управления по умолчанию и, нажав на видео, они скрываются.

Если я изменяю режим на MPMovieControlModeHidden, то я не вижу элементы управления, но также не могу вернуть их обратно.

Есть ли способ запустить видео без элементов управления, но не отключить их полностью?

Ответы [ 2 ]

2 голосов
/ 14 января 2010

Хорошие новости Дмитрий!

Я нашел решение, которое поможет вам, я надеюсь.

Это выглядит следующим образом:

  1. Инициализируйте ваш MPMoviePlayerController объектов movieControlMode собственность с MPMovieControlModeHidden значение
  2. Воспроизвести фильм
  3. После начала воспроизведения фильма установите свойство movieControlMode объекта MPMoviePlayerController обратно на MPMovieControlModeDefault

Третий шаг может быть выполнен путем наблюдения MPMoviePlayerContentPreloadDidFinishNotification уведомления. Хотя это может вызвать черный экран (или другой цвет, который вы указали в качестве backgroundColor объекта *), если вы будете воспроизводить потоковое видео, которое на самом деле предварительно загружено MPMoviePlayerController. В моем распоряжении сейчас нет фильма совместимого формата на удаленном сервере, поэтому я не могу проверить этот сценарий реальным и поэтому возиться, чтобы выяснить, можно ли что-то сделать, чтобы избежать этого побочного эффекта (хотя я думаю, я сделаю это, если вы опубликуете или найдете такой фильм для тестирования где-то в Интернете).

0 голосов
/ 13 января 2010

Подсказка: посмотрите на жирный кусок текста, если вы не хотите знать мою длинную историю о том, как скучно я на самом деле начинаю искать проблему, читая документацию и изучая предлагаемый пример кода .

Ваш вопрос меня заинтересовал, поэтому я начал с просмотра Справочника по классам MPMoviePlayerController на iPhone Dev Center . На самом деле я не нашел ничего связанного с проблемой, с которой вы столкнулись, поэтому я решил поиграть с этим примером проекта MPMoviePlayerController - MoviePlayer Я просто хотел воспроизвести вашу ситуацию и, возможно, попытаться справиться с ней, имитируя одно касание или вызывая тот же метод, который отвечает на это событие вручную.

Но оказалось, что Пример проекта Apple на самом деле ведет себя абсолютно так, как вы хотите, чтобы ваш . Он начинает воспроизведение видео, а элементы управления наложением автоматически анимируются с экрана с самого начала. Я просмотрел код, он довольно прост и не имеет никакого отношения к той проблеме, которая у вас есть. Так что, может быть, это то, что вы делаете (или делаете в несколько неправильном порядке), что вызывает проблему. Проверьте это и вернитесь к нам с лекарством, потому что, судя по метрике полезности, есть люди, у которых есть похожие проблемы.

...