2012-03-05 6 views
0

UIImagePickerController을로드하는 iPhone 앱이 있습니다. 그런 다음 카메라 상단에 맞춤보기가 있습니다. 이제 사용자가 사진을 찍을 때 UIImageView에로드되어 사용자가 사진을 사용할지 또는 다른 사진을 찍을 지 묻는 메시지를 사용자에게 표시합니다 (UIImageView에서 이미지 제거). 이것은 완벽하게 작동합니다.MPMoviePlayerController가 내 UIImagePickerController를 닫습니다.

지금 사용자가 방금 비디오를 녹화 한 경우 비디오의 어딘가에서 스냅 사진 미리보기를 가져 와서 동일한 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. 

내가 후 다음 호출 시도했습니다, 효과가없는 : 다시 나는 UIIViewControllerUIImagePickerController을 추가하는 시도

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

을하는 환상적인 얼어 붙이기가 발생했습니다.

마지막으로 나는 UIViewController's[super didReceivedMemoryWarning] 줄을 didReceivedMemoryWarning으로 주석 처리해 보았습니다. 어느 것도 효과가 없었다.

UIImagePicker도 역시 MPMoviePlayerController 이상 걸리는다고 생각합니다. 어떻게 돌려 줄 수 있습니까?

답변

0

UIImagePickerController를 표시하기 전에 MPMoviePlayerController를 nil로 설정하거나 일시적으로 인터페이스에서 뷰를 가져 오는 것이 좋습니다. 이 두 가지 모두 동영상 플레이어보기를 포함하지만 애플리케이션 인터페이스에는 한 번에 하나의 동영상 플레이어보기 만있을 수 있습니다. 따라서 그들은 서로 간섭 할 수 있으며, 그것은 여러분에게 일어날 수 있습니다.

관련 문제