Пустой кадр MPMoviePlayerController после поиска на определенной временной шкале - PullRequest
1 голос
/ 25 мая 2011

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

У меня есть ползунок, который показывает временную шкалу видео.С помощью этого пользователя можно искать фильм на любой временной шкале фильма.

Когда пользователь непрерывно перемещает ползунок:

  1. Пауза видео только в первый раз;[MPMoviePlayerController-obj pause]
  2. MPMoviePlayerController-obj.currentPlaybackTime = slider.value

Когда действие ползунка заканчивается:

  1. Воспроизвести видео;[MPMoviePlayerController-obj play]

Воспроизведение фильма с позиции, где пользователь покинул ползунок.Но это приводит к пустому кадру, когда фильм завершает воспроизведение.Этот дефект возникает случайно;т.е. не на все время поиска.

В чем причина получения пустого кадра?Как мне это решить?

Спасибо и С уважением, Дипа

Ответы [ 2 ]

2 голосов
/ 03 июня 2011

Чтобы быть уверенным, что ваш контент не имеет недостатков и, следовательно, может вызвать эту проблему, вы должны попытаться воспроизвести ошибочные MPMoviePlayerController результаты, используя эталонный видеоконтент Apple.

Я лично наблюдал много проблем в связи с неправильным кодированием.При работе со сжатым контентом с потерями происходят странные вещиЭто справедливо для видео (i-кадров против p-кадров), а также аудио (с переменной скоростью передачи битов).

Один из них - неправильная длительность воспроизведения, о которой сообщается.Такая проблема может привести к неожиданному завершенному состоянию.Я видел случаи, когда MPMoviePlayerController по-прежнему показывает кучу секунд для воспроизведения, хотя само видео, очевидно, закончилось.Эти случаи часто случаются, когда пользователь просматривает видео.

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

2 голосов
/ 30 мая 2011

Я не уверен, будет ли это работать, но попробуйте установить initialPlaybackTime либо на slider.value, либо на currentPlaybackTime.

...