簡體   English   中英

MPMoviePlayerController關閉了我的UIImagePickerController

[英]MPMoviePlayerController dismisses my UIImagePickerController

我有一個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 ,這導致了一些UIIViewController凍結。

最后,我想注釋掉UIViewController's [super didReceivedMemoryWarning]的線didReceivedMemoryWarning 這也沒有效果。

我猜MPMoviePlayerController接管了UIImagePicker也需要的東西。 我該如何退還?

我建議在顯示UIImagePickerController之前將MPMoviePlayerController設置為nil,或者暫時將其視圖移出接口。 這兩個都包含一個電影播放器​​視圖,但是在您的應用程序界面中一次只能有一個電影播放器​​視圖。 因此它們可能會相互干擾,這可能就是您正在發生的事情。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM