MPMoviePlayerController отклоняет мой UIImagePickerController - PullRequest
0 голосов
/ 05 марта 2012

У меня есть приложение для iPhone, где я загружаю UIImagePickerController в UIViewController.Затем у меня есть пользовательский вид сверху камеры.Теперь, когда пользователь делает фотографию, она загружается в UIImageView, который представляет ее пользователю, спрашивающему, хотите ли вы использовать эту фотографию или сделать другую (удаляя изображение из UIImageView).Это прекрасно работает.

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

MPMoviePlayerController *videoPlayer = [[MPMoviePlayerController alloc] init];
videoPlayer.shouldAutoplay = NO;
[videoPlayer setContentURL:[info valueForKey:UIImagePickerControllerMediaURL]];

UIImage *videoScreenShot = [videoPlayer thumbnailImageAtTime:(videoPlayer.duration/2.0) timeOption:MPMovieTimeOptionNearestKeyFrame];
photoPreview.image = videoScreenShot;
[videoPlayer release]

Это работает как задумано.Проблема в том, если я хочу снять другое видео.Когда я звоню:

[videoPlayer setContentURL:[info valueForKey:UIImagePickerControllerMediaURL]];

Затвор камеры закрывается, и камера, по-видимому, отклоняется.Попытка сделать снимок или запись видео дает мне:

UIImagePickerController: ignoring request to take picture; camera is not yet ready.
UIImagePickerController: ignoring request to start video capture; camera is not yet ready.

Я попытался вызвать следующее после, но безрезультатно:

myImagePicker.mediaTypes = [UIImagePickerController availableMediaTypesForSourceType: UIImagePickerControllerSourceTypeCamera];  
[myImagePicker setSourceType:UIImagePickerControllerSourceTypeCamera];

Я попытался добавить UIImagePickerControllerк UIIViewController снова, что вызвало фантастические зависания.

Наконец я попытался закомментировать строку UIViewController's [super didReceivedMemoryWarning] didReceivedMemoryWarning.Который также не имел никакого эффекта.

Я предполагаю, что MPMoviePlayerController берет на себя то, что UIImagePicker также нуждается.Как я могу вернуть его обратно?

1 Ответ

0 голосов
/ 01 декабря 2012

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

...